Crie 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?
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 um Notebook 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. SQL O armazém sempre oferece suporte ao site Unity Catalog.
Para criar um catálogo compartilhado :
- O compartilhamento Delta Sharing já deve existir em seu site workspace. Consulte Como faço para disponibilizar dados compartilhados para minha equipe?.
- Você deve ser administrador da metastore, ter o privilégio
USE PROVIDER
na metastore ou possuir o objeto do provedor que inclui o compartilhamento.
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 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. - O senhor deve usar o site compute em Databricks Runtime 13.1 ou acima. SQL O warehouse deve ser Pro ou sem servidor.
Crie um catálogo
Para criar um catálogo, o senhor pode usar o Catalog Explorer, um comando SQL, a API REST, a CLI da Databricks ou o Terraform. Quando você cria um catálogo, dois esquemas (bancos de dados) são criados automaticamente: default
e information_schema
.
- Catalog Explorer
- SQL
- Other
-
Efetue login em um workspace vinculado ao metastore.
-
Clique em
Catálogo .
-
Clique em Catálogos abaixo de Acesso rápido .
-
Clique em Criar catálogo .
-
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 seguro que organiza dados e AI ativos 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 a Lakehouse Federation. Veja a visão geral da configuração da Lakehouse Federation.
- Catálogo compartilhado: um objeto seguro que organiza dados e outros ativos que são compartilhados com o senhor como um Delta Sharing compartilhamento. 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 é um compartilhamento?.
-
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 gerenciado. Consulte Especificar um local de armazenamento gerenciar em Unity Catalog.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 .
-
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. Veja a visão geral da configuração da Lakehouse Federation.
Depois de selecionar a conexão, digite o nome do banco de dados ou de outro catálogo do Databricks que deseja espelhar.
Os requisitos diferem dependendo da fonte de dados:
- O MySQL utiliza um namespace de duas camadas e portanto não exige 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 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. Veja os provedores de visualização e os compartilhamentos que um provedor compartilhou com o senhor.
-
Clique em Criar .
-
No catálogo criado! Na caixa de diálogo Configurar catálogo , clique em visualizar catálogo para aceitar o catálogo configurado automaticamente ou clique em Configurar catálogo (recomendado) para configurar as permissões do catálogo, as ligações workspace e os metadados.
Se o senhor clicar em view catalog (visualizar 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 account. Você pode pular o restante das etapas desse procedimento e continuar adicionando 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, as tags, os comentários, as ligações workspace, as permissões e os esquemas.
-
Na página Configurar catálogo > workspace , 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 seu 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.
-
Clique em Avançar 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).
-
Clique em Avançar para adicionar metadados opcionais de tag e comentário.
As 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 AI ativo.
-
Clique em Salvar .
-
Adicione esquemas e objetos de dados ao catálogo.
Consulte Criar esquemas.
O senhor pode usar o Catalog Explorer para atualizar o proprietário, as 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 Notebook ou no editor de consultas SQL. Os itens entre colchetes 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.
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 localização externa e você deve ter o privilégio CREATE MANAGED STORAGE
na configuração de localização externa. Você pode usar o caminho definido na configuração do local externo ou um subcaminho (em outras palavras, 'gs://depts/finance'
ou 'gs://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 do Notebook ou do site 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 externo , execute o seguinte comando em um editor de consultas do Notebook ou do site SQL. Os itens entre colchetes são opcionais. Substitua os valores do espaço reservado:
<catalog-name>
: Nome para o 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 a Databricks-to-Databricks Lakehouse Federation, usecatalog '<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 estrangeiro.
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 ao catálogo. 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 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 e objetos protegidos do Unity Catalog.