O que são catálogos no Azure Databricks?
Um catálogo é a principal unidade de organização de dados no modelo de governança de dados do Catálogo do Azure Databricks Unity. Este artigo fornece uma visão geral dos catálogos no Catálogo do Unity e a melhor forma de usá-los.
Os catálogos são a primeira camada no namespace de três níveis do Catálogo do Unity (catalog.schema.table-etc
). Eles contêm esquemas, que por sua vez podem conter tabelas, visualizações, volumes, modelos e funções. Os catálogos são registrados em um metastore do Catálogo do Unity em sua conta do Azure Databricks.
Como devo organizar meus dados em catálogos?
Ao projetar seu modelo de governança de dados, você deve pensar cuidadosamente nos catálogos que criar. Como o nível mais alto no modelo de governança de dados da sua organização, cada catálogo deve representar uma unidade lógica de isolamento de dados e uma categoria lógica de acesso a dados, permitindo que uma hierarquia eficiente de concessões flua para esquemas e os objetos de dados que eles contêm. Os catálogos, portanto, geralmente espelham unidades organizacionais ou escopos de ciclo de vida de desenvolvimento de software. Você pode escolher, por exemplo, ter um catálogo para dados de produção e um catálogo para dados de desenvolvimento, ou um catálogo para dados de não clientes e outro para dados confidenciais de clientes.
Isolamento de dados usando catálogos
Cada catálogo normalmente tem seu próprio local de armazenamento gerenciado para armazenar tabelas e volumes gerenciados, fornecendo isolamento físico de dados no nível do catálogo. Você também pode optar por armazenar dados no nível do metastore, fornecendo um local de armazenamento padrão para catálogos que não têm um local de armazenamento gerenciado próprio. Você pode adicionar armazenamento no nível do esquema para um isolamento de dados mais granular.
Como sua conta do Azure Databricks tem um metastore por região, os catálogos são inerentemente isolados por região.
Para obter mais informações, consulte O que são objetos de banco de dados no Azure Databricks? e Os dados são fisicamente separados no armazenamento.
Privilégios no nível do catálogo
Como as concessões em qualquer objeto do Catálogo do Unity são herdadas por filhos desse objeto, possuir um catálogo ou ter amplos privilégios em um catálogo é muito poderoso. Por exemplo, os proprietários do catálogo têm todos os privilégios no catálogo e nos objetos do catálogo e podem conceder acesso a qualquer objeto no catálogo. Os usuários com SELECT
em um catálogo podem ler qualquer tabela no catálogo. Os usuários com CREATE TABLE
em um catálogo podem criar uma tabela em qualquer esquema no catálogo.
Para impor o princípio do privilégio mínimo, em que os usuários têm o acesso mínimo necessário para executar suas tarefas necessárias, normalmente você concede acesso apenas aos objetos ou níveis específicos na hierarquia que o usuário exige. Mas os privilégios no nível do catálogo permitem que o proprietário do catálogo gerencie o que os proprietários de objetos de nível inferior podem conceder. Mesmo que um usuário tenha acesso a um objeto de dados de baixo nível, como uma tabela, por exemplo, esse usuário não poderá acessar essa tabela, a menos que também tenha o USE CATALOG
privilégio no catálogo que contém a tabela.
Para obter mais informações, consulte Gerenciar a propriedade de objetos do Catálogo do Unity, tipos de privilégio gerais do Catálogo do Unity e Blocos de construção de governança de dados e isolamento de dados.
Tipos de catálogo
Ao criar um catálogo, você tem duas opções:
- Catálogo padrão: o catálogo típico, usado como a unidade principal para organizar seus objetos de dados no Catálogo do Unity. Esse é o tipo de catálogo discutido neste artigo.
- Catálogo externo: um objeto do Catálogo do Unity que é usado somente em cenários de Federação do Lakehouse. Um catálogo externo espelha um banco de dados em um sistema de dados externo, permitindo que você execute consultas somente leitura nesse sistema de dados em seu workspace do Azure Databricks. Confira O que é Federação do Lakehouse?.
Além desses dois tipos de catálogo, o Azure Databricks provisiona os seguintes catálogos automaticamente quando você cria um novo workspace:
hive_metastore
catálogo: esse é o repositório de todos os dados gerenciados pelo metastore herdado do Hive em workspaces do Azure Databricks. Quando um workspace existente que não é do Catálogo do Unity é convertido no Catálogo do Unity, todos os objetos registrados no metastore herdado do Hive são exibidos no Catálogo do Unity nohive_metastore
catálogo. Para obter informações sobre como trabalhar com o metastore do Hive junto com o Catálogo do Unity, consulte Trabalhar com o Catálogo do Unity e o metastore herdado do Hive. O metastore do Hive foi preterido e todos os workspaces do Azure Databricks devem migrar para o Catálogo do Unity.- Catálogo de espaços de trabalho: em todos os novos espaços de trabalho, esse catálogo é criado para você por padrão. Normalmente, ele compartilha seu nome com o nome do seu workspace. Se esse catálogo existir, todos os usuários em seu workspace (e somente seu workspace) terão acesso a ele por padrão, o que o torna um local conveniente para os usuários experimentarem o processo de criação e acesso a objetos de dados no Catálogo do Unity. Consulte Etapa 1: confirme se seu espaço de trabalho está habilitado para o Catálogo do Unity.
Catálogo padrão
Um catálogo padrão é configurado para cada espaço de trabalho habilitado para o Catálogo do Unity. O catálogo padrão permite que você execute operações de dados sem especificar um catálogo. Se você omitir o nome do catálogo de nível superior ao executar operações de dados, o catálogo padrão será assumido.
Se o workspace foi habilitado para o Catálogo do Unity automaticamente, o catálogo de workspace pré-provisionado será especificado como o catálogo padrão. Um administrador do workspace pode alterar o catálogo padrão conforme necessário.
Para obter detalhes, consulte Gerenciar o catálogo padrão.
Associação espaço de trabalho-catálogo
Se você usar workspaces para isolar o acesso aos dados do usuário, talvez queira usar ligações de catálogo de área de trabalho. As ligações de catálogo de workspace permitem limitar o acesso ao catálogo por limites de workspace. Por exemplo, é possível garantir que os administradores do workspace e os usuários só possam acessar os dados de produção em prod_catalog
a partir de um ambiente de workspace de produção, prod_workspace
. Os catálogos são compartilhados com todos os workspaces anexados ao metastore atual, a menos que você especifique uma associação. Consulte Organizar seus dados e Limitar o acesso ao catálogo a espaços de trabalho específicos.
Se seu espaço de trabalho foi habilitado para o Catálogo do Unity automaticamente, o catálogo do espaço de trabalho pré-provisionado será associado ao seu espaço de trabalho por padrão.