Partilhar via


Criar catálogos

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

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

Nota

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

Requisitos

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

  • Você deve ser um administrador do metastore do Azure Databricks ou ter o CREATE CATALOG privilégio no metastore.
  • O recurso de computação que você usa para executar um bloco de anotações para criar 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. Os armazéns SQL sempre suportam o Unity Catalog.

Para criar um catálogo compartilhado:

  • O compartilhamento Delta Sharing já deve existir em seu espaço de trabalho. Consulte Como posso disponibilizar dados partilhados à minha equipa?.
  • Você deve ser um administrador de metastore, ter o USE PROVIDER privilégio no metastore ou possuir o objeto de provedor que inclui o compartilhamento.

Para criar um catálogo padrão:

  • Se você especificar um local de armazenamento gerenciado para o catálogo, deverá ter o CREATE MANAGED STORAGE privilégio no local externo de destino.
  • Se não existir armazenamento gerenciado no nível de metastore, você deverá especificar um local de armazenamento gerenciado para o catálogo.

Para criar um catálogo estrangeiro:

  • Você deve ser o proprietário da conexão que você usa para criar o catálogo estrangeiro ou ter o CREATE FOREIGN CATALOG privilégio na conexão.
  • Você deve usar a computação no Databricks Runtime 13.1 ou superior. Os armazéns SQL devem ser Pro ou Serverless.

Criar um catálogo

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

Explorador de Catálogos

  1. Faça login em um espaço de trabalho vinculado ao metastore.

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

  3. Clique no botão Criar catálogo .

  4. Na caixa de diálogo Criar um novo catálogo, insira um Nome do catálogo e selecione o Tipo de catálogo que você deseja criar:

    • Catálogo padrão : um objeto protegível que organiza dados e ativos de IA gerenciados pelo Unity Catalog. Para todos os casos de uso, exceto Lakehouse Federation e catálogos criados a partir de compartilhamentos Delta Sharing.
    • Catálogo estrangeiro : um objeto protegível que espelha um banco de dados em um sistema de dados externo usando a Lakehouse Federation. Consulte Visão geral da configuração da Lakehouse Federation.
    • Catálogo compartilhado: um objeto protegível que organiza dados e outros ativos que são compartilhados com você como um compartilhamento Delta Sharing. A criação de um catálogo a partir de um compartilhamento torna esses ativos disponíveis para os usuários em seu espaço de trabalho lerem. Consulte O que é uma partilha?.
  5. Dependendo do tipo de catálogo, especifique as seguintes opções:

    • Para catálogos padrão: é opcional, mas altamente recomendável especificar um local de armazenamento gerenciado. Você deve ter o CREATE MANAGED STORAGE privilégio no local externo de destino que você usa como um local de armazenamento gerenciado. Consulte Especificar um local de armazenamento gerenciado no Catálogo Unity.

      Opcionalmente, você pode especificar um subcaminho de um local externo definido. Se não tiver uma localização externa definida, pode criar uma clicando em Criar uma nova localização externa.

      Importante

      Se seu espaço de trabalho não tiver um local de armazenamento no nível de metastore, você deverá especificar um local de armazenamento gerenciado ao criar um catálogo.

    • Para catálogos estrangeiros: você deve selecionar uma Conexão, que é um objeto protegível 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 Lakehouse Federation.

      Quando tiver selecionado a conexão, insira o nome do Banco de Dados ou outro Catálogo de Databricks que você deseja espelhar.

      Os requisitos diferem consoante 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 espaço de trabalho do Databricks, insira o nome do Catálogo do Databricks em vez de um nome do banco de dados.

      Se não tiver uma ligação definida, pode criar uma clicando em Criar uma nova ligação.

    • Para catálogos compartilhados: você deve selecionar um Provedor e um Compartilhamento. Depois de selecionar o provedor, você pode selecionar uma das ações do provedor.

      Se você 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 Ver fornecedores e Ver partilhas que um fornecedor partilhou consigo.

  6. Clique em Criar.

  7. Na caixa de diálogo Catálogo criado!, clique em Exibir catálogo para aceitar o catálogo como configurado automaticamente ou clique em Configurar catálogo (recomendado) para configurar permissões de catálogo, associações de espaço de trabalho e metadados.

    Se você clicar em Exibir catálogo, o catálogo estará acessível a todos os espaços de trabalho anexados ao metastore e o BROWSE privilégio será concedido a todos os usuários da conta. Você pode ignorar o restante das etapas deste procedimento e continuar adicionando esquemas ao catálogo. Consulte Criar esquemas.

    Você pode retornar à página de detalhes do catálogo no Gerenciador de Catálogos a qualquer momento para atualizar o proprietário, tags, comentários, associações de espaço de trabalho, permissões e esquemas.

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

    Por padrão, o catálogo é compartilhado com todos os espaços de trabalho anexados ao metastore atual. Se o catálogo contiver dados que devem ser restritos a espaços de trabalho específicos, desmarque a opção Todos os espaços de trabalho têm acesso e use o botão Atribuir a espaços de trabalho para adicionar esses espaços de trabalho. O espaço de trabalho atual deve ser incluído.

    Depois de atribuir um espaço de trabalho, você pode, opcionalmente, alterar seu nível de acesso padrão de Leitura e Gravação para Somente Leitura: selecione o espaço de trabalho na lista e clique no botão Gerenciar Nível de Acesso.

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

  9. Clique em Avançar para atribuir permissões para seu catálogo.

    Todos os usuários da conta têm o BROWSE privilégio por padrão, dando-lhes 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 Conceder e siga as instruções em Privilégios do Catálogo Unity e objetos protegíveis.

  10. Clique em Avançar para adicionar metadados opcionais de tags e comentários.

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

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

  11. Clique em Guardar.

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

    Consulte Criar esquemas.

Você pode usar o Gerenciador de Catálogos para atualizar o proprietário, tags, comentários, associações de espaço de trabalho e permissões a qualquer momento depois de criar o catálogo.

SQL

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

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

  • <location-path>: Opcional, mas fortemente recomendado. Forneça um caminho de local de armazenamento se desejar que as tabelas gerenciadas neste catálogo sejam armazenadas em um local diferente do armazenamento raiz padrão configurado para o metastore.

    Importante

    Se seu espaço de trabalho não tiver um local de armazenamento no nível de metastore, você deverá especificar um local de armazenamento gerenciado ao criar um catálogo.

    Esse caminho deve ser definido em uma configuração de local externo e você deve ter o CREATE MANAGED STORAGE privilégio na configuração de local externo. Você pode usar o caminho definido na configuração do local externo ou um subcaminho (em outras palavras, 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance' ou 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/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 bloco de anotações ou editor de consultas 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 estrangeiro, execute o seguinte comando em um bloco de anotações ou editor de consultas SQL. Os itens entre parênteses são opcionais. Substitua os valores de espaço reservado:

  • <catalog-name>: Nome do catálogo no Azure 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 você deseja espelhar como um catálogo no Azure Databricks. Não é necessário para o MySQL, que usa um namespace de duas camadas. Para Databricks-to-Databricks Lakehouse Federation, use catalog '<external-catalog-name>' em vez disso.
  • <external-catalog-name>: Somente Databricks para Databricks : Nome do catálogo no espaço de trabalho externo Databricks que você está espelhando. Consulte Executar consultas federadas em outro espaço de trabalho do Databricks.
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 estrangeiro.

Para limitar o acesso ao catálogo a espaços de trabalho específicos na sua conta, também conhecidos como vinculação de catálogo de espaços de trabalho, consulte Limitar o acesso do catálogo a espaços de trabalho específicos.

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

Depois de criar o catálogo, atribua privilégios ao catálogo. Consulte Privilégios do catálogo Unity e objetos protegíveis.

Outro

Terraform: Você pode criar um catálogo usando o provedor Databricks Terraform e databricks_catalog. Você 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 obter uma lista de opções, execute 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 ao catálogo. Consulte Privilégios do catálogo Unity e objetos protegíveis.

Mais informações