Criar catálogos

Este artigo mostra como criar catálogos no Catálogo do Unity. 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?.

Observação

Para saber como criar um catálogo estrangeiro, um objeto do catálogo do Unity que espelha um banco de dados em um sistema de dados externo, confira Criar um catálogo estrangeiro. Confira 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 privilégio CREATE CATALOG no metastore.
  • O recurso de computação que você usa para executar um notebook para criar um catálogo deve estar no Databricks Runtime 11.3 ou superior e deve usar um modo de acesso em conformidade com o Catálogo do Unity. Consulte Modos de acesso. Os warehouses SQL sempre dão suporte para o Catálogo do Unity.

Para criar um catálogo compartilhado:

Para criar um catálogo padrão:

  • Se você especificar um local de armazenamento gerenciado para o catálogo, deverá ter o privilégio CREATE MANAGED STORAGE no local externo de destino.
  • Se não existir nenhum armazenamento gerenciado no nível do 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 usada para criar o catálogo estrangeiro ou ter o privilégio CREATE FOREIGN CATALOG na conexão.
  • Você deve usar a computação no Databricks Runtime 13.1 ou superior. Os Warehouses SQL devem ser Pro ou Sem Servidor.

Criar um catálogo

Para criar um catálogo, você pode usar o Explorador 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 do Catálogo

  1. Faça logon em um workspace 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 de 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 Catálogo do Unity. Para todos os casos de uso, exceto a Federação Lakehouse e catálogos criados a partir de Compartilhamentos Delta.
    • CatálogoEstrangeiro: um objeto protegível que espelha um banco de dados em um sistema de dados externo usando a Federação Lakehouse. Confira Visão geral da configuração da Federação de Lakehouse.
    • Catálogo Compartilhado : um objeto protegível que organiza dados e outros ativos que são compartilhados com você como um compartilhamento do Compartilhamento Delta. A criação de um catálogo a partir de um compartilhamento disponibiliza esses ativos para os usuários lerem em seu workspace. Consulte O que é um compartilhamento?.
  5. Dependendo do tipo de catálogo, especifique as seguintes opções:

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

      Opcionalmente, você pode especificar um subcaminho de um local externo definido. Se você não tiver um local externo definido, poderá criar um clicando em Criar um novo local externo.

      Importante

      Se o workspace não tiver um local de armazenamento no nível do 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 Catálogo do Unity que especifica um caminho e credenciais para acessar um sistema de banco de dados externo. Confira Visão geral da configuração da Federação de Lakehouse.

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

      Os requisitos diferem dependendo da 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 workspace do Databricks, insira o nome do Catálogo do Databricks em vez de um nome de banco de dados.

      Se você não tiver uma conexão definida, poderá criar uma clicando em Criar uma nova conexão.

    • Para catálogos compartilhados: você deve selecionar um Provedor e um Compartilhamento. Depois de selecionar o provedor, você pode selecionar um dos compartilhamentos do provedor.

      Se você não tiver certeza de qual provedor e compartilhamento deseja, talvez seja mais fácil procurar ou pesquisar provedores e compartilhamentos usando o navegador Explorador de Catálogos. Consulte Exibir provedores e Exibir compartilhamentos que um provedor compartilhou com você.

  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 workspace 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 privilégio BROWSE será concedido a todos os usuários da conta. Você pode ignorar o restante das etapas neste procedimento e continuar a adicionar esquemas ao catálogo. Consulte Criar esquemas.

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

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

    Por padrão, o catálogo é compartilhado com todos os workspaces 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 tem acesso e use a opção Atribuir a espaços de trabalho para adicionar esses espaços de trabalho. O workspace atual deve ser incluído.

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

    Para obter mais informações, consulte Limitar o acesso ao catálogo a workspaces específicos.

  9. Clique em Próximo para atribuir Permissões para seu catálogo.

    Todos os usuários da conta têm o privilégio BROWSE por padrão, dando a eles a capacidade de descobrir metadados de 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 do Unity e objetos protegíveis.

  10. Clique em Próximo para adicionar Metadados opcionais de marca e comentário.

    Marcas 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 marcas a objetos protegíveis do Catálogo do Unity.

    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 Save (Salvar).

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

    Consulte Criar esquemas.

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

SQL

Para criar um catálogo padrão, execute o comando SQL a seguir em um notebook ou editor de consultas SQL. Os itens entre colchetes são opcionais. Substitua os valores de 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 gerenciadas nesse catálogo sejam armazenadas em um local diferente do armazenamento raiz padrão configurado para o metastore.

    Importante

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

    Esse caminho deve ser definido em uma configuração de localização externa e você deve ter o privilégio CREATE MANAGED STORAGE nessa configuração. É possível usar o caminho definido na configuração de localização externa ou um subcaminho (ou seja, '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 comando a seguir em um notebook ou editor de consultas SQL. Os itens entre colchetes 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 comando a seguir em um notebook ou editor de consultas SQL. Os itens entre colchetes 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 é obrigatório para o MySQL, que usa um namespace de duas camadas. Para Federação Lakehouse Databricks-to-Databricks, use catalog '<external-catalog-name>'.
  • <external-catalog-name>: somente Databricks para Databricks: nome do catálogo no workspace externo do Databricks que você está espelhando. Consulte Executar consultas federadas em outro workspace do Databricks.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS [(database '<database-name>') | (catalog '<external-catalog-name>')];

Confira também Criar um catálogo estrangeiro.

Para limitar o acesso ao catálogo a workspaces específicos em sua conta, também conhecido como associação catálogo-workspace, consulte Limitar um catálogo a workspaces específicos.

Para obter descrições detalhadas de parâmetro, consulte CRIAR CATÁLOGO.

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

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.

CLI do Databricks: 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 à API. Siga o link da API no parágrafo anterior.

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

Mais informações