Criar catálogos

Este artigo mostra como criar catálogos em Unity Catalog. Um catálogo contém esquemas (bancos de dados), e um esquema contém tabelas, visualizações, volumes, modelos e funções.

Para saber mais sobre catálogos, consulte O que são catálogos no Databricks?

Observação

Para saber como criar um catálogo externo, um objeto do Unity Catalog que espelha um banco de dados em um sistema de dados externo, consulte Criar um catálogo externo. Consulte também gerenciar e trabalhar com catálogos estrangeiros.

Requisitos

Para criar um catálogo, independentemente do tipo de catálogo:

  • O senhor deve ser um administrador do metastore da Databricks ou ter o privilégio CREATE CATALOG no metastore.

  • O recurso compute que o senhor usa para executar a Notebook criação de um catálogo deve estar no Databricks Runtime 11.3 ou superior e deve usar um modo de acesso compatível com o Unity Catalog. Consulte Modos de acesso. SQL O armazém sempre oferece suporte ao site Unity Catalog.

Para criar um catálogo compartilhado:

Para criar um catálogo padrão:

  • Se o senhor especificar um local de armazenamento gerenciar para o catálogo, deverá ter o privilégio CREATE MANAGED STORAGE no local externo de destino.

  • Se não houver armazenamento gerenciar no nível do metastore, o senhor deverá especificar um local de armazenamento gerenciar para o catálogo.

Para criar um catálogo externo:

  • O senhor deve ser o proprietário da conexão que usa para criar o catálogo externo ou ter o privilégio CREATE FOREIGN CATALOG na conexão.

  • O senhor deve usar o site compute em Databricks Runtime 13.1 ou acima. SQL O armazém deve ser Pro ou serverless.

Criar um catálogo

Para criar um catálogo, o senhor pode usar o Catalog Explorer, um comando SQL, a API REST, a CLI do Databricks ou o Terraform. Quando o senhor cria um catálogo, dois esquemas (bancos de dados) são criados automaticamente: default e information_schema.

  1. Efetue login em um workspace vinculado ao metastore.

  2. Clique em Ícone do catálogo Catalog.

  3. Clique no botão Create Catalog (Criar catálogo ).

  4. Na caixa de diálogo Criar um novo catálogo, digite um nome de catálogo e selecione o tipo de catálogo que o senhor deseja criar:

    • Catálogo padrão: um objeto seguro que organiza dados e IA ativo que são gerenciados por Unity Catalog. Para todos os casos de uso, exceto lakehouse Federation e catálogos criados a partir de compartilhamentos Delta Sharing.

    • Catálogo externo: um objeto seguro que espelha um banco de dados em um sistema de dados externo usando lakehouse Federation. Consulte Visão geral da configuração da Federação lakehouse .

    • Catálogo compartilhado : um objeto seguro que organiza dados e outros ativos que são compartilhados com o senhor como um compartilhamento Delta Sharing . A criação de um catálogo a partir de um compartilhamento torna esses ativos disponíveis para leitura pelos usuários em seu site workspace. Consulte O que é uma ação?

  5. Dependendo do tipo de catálogo, especifique as seguintes opções:

    • Para catálogos padrão: É opcional, mas altamente recomendável que o senhor especifique um local de armazenamento gerenciar. O senhor deve ter o privilégio CREATE MANAGED STORAGE no local externo de destino usado como local de armazenamento gerenciar. Consulte Especificar um local de armazenamento gerenciar em Unity Catalog.

      Opcionalmente, o senhor pode especificar um subcaminho de um local externo definido. Se o senhor não tiver um local externo definido, poderá criar um clicando em Create a new external location (Criar um novo local externo).

      Importante

      Se o site workspace não tiver um local de armazenamento em nível de metastore, o senhor deverá especificar um local de armazenamento gerenciar ao criar um catálogo.

    • Para catálogos externos: O senhor deve selecionar uma conexão, que é um objeto seguro no Unity Catalog que especifica um caminho e credenciais para acessar um sistema de banco de dados externo. Consulte Visão geral da configuração da Federação lakehouse .

      Quando tiver selecionado a conexão, digite o nome do banco de dados ou de outro catálogo do Databricks que deseja espelhar.

      Os requisitos variam de acordo com a fonte de dados:

      • O MySQL usa um namespace de duas camadas e, portanto, não requer um nome de banco de dados.

      • Para conexões com um catálogo em outro Databricks workspace, digite o nome do catálogo Databricks em vez de um nome de banco de dados.

      Se o senhor não tiver uma conexão definida, poderá criar uma clicando em Create a new connection (Criar uma nova conexão).

    • Para catálogos compartilhados: O senhor deve selecionar um provedor e um compartilhamento. Depois de selecionar o provedor, o senhor pode selecionar uma das ações do provedor.

      Se não tiver certeza de qual provedor e compartilhamento deseja, talvez seja mais fácil navegar ou pesquisar provedores e compartilhamentos usando o navegador Catalog Explorer. Consulte Exibir provedores e Exibir compartilhamentos que um provedor compartilhou com o senhor.

  6. Clique em Criar.

  7. No catálogo criado! Na caixa de diálogo, clique em view catalog para aceitar o catálogo como configurado automaticamente ou clique em Configure catalog (recomendado) para configurar as permissões do catálogo, as ligações workspace e os metadados.

    Se o senhor clicar em view catalog, o catálogo estará acessível a todos os espaços de trabalho anexados ao metastore e o privilégio BROWSE será concedido a todos os usuários do account. O senhor pode ignorar o restante dos passos deste procedimento e prosseguir com a adição de esquemas ao catálogo. Consulte Criar esquemas.

    O senhor pode retornar à página de detalhes do catálogo no Catalog Explorer a qualquer momento para atualizar o proprietário, tags, comentários, workspace bindings, permissões e esquemas.

  8. Na página Configurar catálogo > espaço de trabalho, especifique o workspace ao qual o catálogo está vinculado.

    Em default, o catálogo é compartilhado com todos os espaços de trabalho anexados ao metastore atual. Se o catálogo contiver dados que devam ser restritos a um espaço de trabalho específic o, desmarque a opção All workspace have access (Todos têm acesso ) e use o botão Assign to workspace (Atribuir ao espaço de trabalho) para adicionar esse espaço de trabalho. O site workspace atual deve ser incluído.

    Depois de atribuir um workspace, o senhor pode, opcionalmente, alterar o nível de acesso default Read & Write para Read Only: selecione o workspace na lista e clique no botão gerenciar Access Level.

    Para obter mais informações, consulte Limitar o acesso do catálogo a um espaço de trabalho específico.

  9. Clique em Next para atribuir permissões ao seu catálogo.

    Todos os usuários de account têm o privilégio BROWSE por default, o que lhes dá a capacidade de descobrir metadados do catálogo sem ter acesso de leitura aos dados.

    Para conceder um privilégio a um usuário, grupo ou entidade de serviço, clique em Grant (Conceder ) e siga as instruções em Unity Catalog privileges and securable objects (Privilégios e objetos protegidos do Unity Catalog).

  10. Clique em Next para adicionar tag opcional e comentar Metadados.

    tags são par key-valor que o senhor pode usar para organizar e categorizar catálogos para simplificar a pesquisa e a descoberta de seus dados ativos. Os valores são opcionais. Consulte Aplicar tags a objetos protegíveis do Unity Catalog.

    Um comentário é um campo aberto que é frequentemente usado para fornecer uma descrição para ajudar os usuários a descobrir os dados ativos no catálogo. Consulte Adicionar comentários aos dados e IA ativo.

  11. Clique em Salvar.

  12. Adicionar esquemas e objetos de dados ao catálogo.

    Consulte Criar esquemas.

O senhor pode usar o Catalog Explorer para atualizar o proprietário, tags, os comentários, os vínculos workspace e as permissões a qualquer momento após a criação do catálogo.

Para criar um catálogo padrão, execute o seguinte comando SQL em um editor de consultas Notebook ou SQL. Os itens entre parênteses são opcionais. Substitua os valores do espaço reservado:

  • <catalog-name>: Um nome para o catálogo.

  • <location-path>: Opcional, mas altamente recomendado. Forneça um caminho de local de armazenamento se quiser que as tabelas gerenciais desse catálogo sejam armazenadas em um local diferente do armazenamento raiz default configurado para o metastore.

    Importante

    Se o site workspace não tiver um local de armazenamento em nível de metastore, o senhor deverá especificar um local de armazenamento gerenciar ao criar um catálogo.

    Esse caminho deve ser definido em uma configuração de local externo e o senhor deve ter o privilégio CREATE MANAGED STORAGE na configuração de local externo. O senhor pode usar o caminho definido na configuração do local externo ou um subcaminho (em outras palavras, 's3://depts/finance' ou 's3://depts/finance/product').

  • <comment>: Descrição opcional ou outro comentário.

CREATE CATALOG [ IF NOT EXISTS ] <catalog-name>
   [ MANAGED LOCATION '<location-path>' ]
   [ COMMENT <comment> ];

Por exemplo, para criar um catálogo chamado example:

CREATE CATALOG IF NOT EXISTS example;

Para criar um catálogo compartilhado, execute o seguinte comando em um editor de consultas Notebook ou SQL. Os itens entre parênteses são opcionais.

CREATE CATALOG [IF NOT EXISTS] <catalog-name>
USING SHARE <provider-name>.<share-name>;
[ COMMENT <comment> ];

Para criar um catálogo externo, execute o seguinte comando em um editor de consultas Notebook ou SQL. Os itens entre parênteses são opcionais. Substitua os valores do espaço reservado:

  • <catalog-name>: Nome do catálogo no Databricks.

  • <connection-name>: O objeto de conexão que especifica a fonte de dados, o caminho e as credenciais de acesso.

  • <database-name>: Nome do banco de dados que o senhor deseja espelhar como um catálogo no Databricks. Não é necessário para o MySQL, que usa um namespace de duas camadas. Para Databricks-to-Databricks lakehouse Federação, use catalog '<external-catalog-name>' em vez disso.

  • <external-catalog-name>: Databricks-to-Databricks Somente: Nome do catálogo no site externo Databricks workspace que o senhor está espelhando. Veja a execução de consultas federadas em outro site Databricks workspace .

CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS [(database '<database-name>') | (catalog '<external-catalog-name>')];

Consulte também Criar um catálogo externo.

Para limitar o acesso ao catálogo a um espaço de trabalho específico em seu account, também conhecido como workspace-catalog binding, consulte Limitar o acesso ao catálogo a um espaço de trabalho específico.

Para obter descrições detalhadas dos parâmetros, consulte CREATE CATALOG.

Depois de criar o catálogo, atribua privilégios a ele. Consulte Privilégios e objetos protegidos do Unity Catalog.

Terraform: O senhor pode criar um catálogo usando o provedor Databricks Terraform e databricks_catalog. O senhor pode recuperar informações sobre catálogos usando databricks_catalogs.

API REST: Use POST /api/2.1/unity-catalog/catalogs.

Databricks CLI: databricks catalogs create <catalog-name> [options] Para uma lista de opções, execução databricks catalogs create -h. As opções também são descritas na referência da API. Siga o link da API no parágrafo anterior.

Depois de criar o catálogo, atribua privilégios a ele. Consulte Privilégios e objetos protegidos do Unity Catalog.