Criar e gerenciar esquemas (bancos de dados)

Este artigo mostra como criar e gerenciar esquemas (bancos de dados) no Catálogo do Unity. Um esquema contém tabelas, exibições, volumes, modelos e funções. Você cria esquemas dentro de catálogos.

Requisitos

  • Você deve ter um metastore do Catálogo do Unity vinculado ao workspace em que executa a criação do esquema.

  • Você deve ter as permissões de dadosUSE CATALOG e CREATE SCHEMA no catálogo pai do esquema. Um administrador metastore ou o proprietário do catálogo podem conceder esses privilégios. Se você for um administrador metastore, poderá conceder esses privilégios a si próprio.

  • O cluster que você utiliza para executar um notebook para criar um esquema 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.

Criar um esquema

Para criar um esquema, você pode usar comandos do Gerenciador de Catálogos ou SQL.

Explorador do Catálogo

  1. Faça logon em um workspace vinculado ao metastore.
  2. Clique no Ícone do catálogoCatálogo.
  3. No painel Catálogo à esquerda, clique no catálogo em que você deseja criar o esquema.
  4. No painel de detalhes, clique em Criar esquema.
  5. Forneça um nome ao esquema e adicione qualquer comentário que ajude os usuários a entender a finalidade do esquema.
  6. (Opcional) Especifique um local de armazenamento gerenciado. Requer o privilégio CREATE MANAGED STORAGE no local externo de destino. Consulte Especificar um local de armazenamento gerenciado no catálogo do Unity.
  7. Clique em Criar.
  8. Atribua permissões para seu catálogo. Confira Privilégios e objetos protegíveis do Catálogo do Unity.
  9. Clique em Save (Salvar).

Sql

  1. Execute os comandos SQL a seguir em um notebook ou no editor de SQL do Databricks. Os itens entre colchetes são opcionais. Você pode usar SCHEMA ou DATABASE. Substitua os valores de espaço reservado:

    • <catalog-name>: O nome do catálogo pai do esquema.
    • <schema-name>: Um nome para o esquema.
    • <location-path>: opcional. Requer privilégios adicionais. Consulte Especificar um local de armazenamento gerenciado no catálogo do Unity.
    • <comment>: descrição opcional ou outro comentário.
    • <property-key> = <property-value> [ , ... ]: opcional. Propriedades SQL do Spark e valores a definir para o esquema.

    Para obter descrições de parâmetros, confira CREATE SCHEMA.

    USE CATALOG <catalog>;
    CREATE { DATABASE | SCHEMA } [ IF NOT EXISTS ] <schema-name>
        [ MANAGED LOCATION '<location-path>' ]
        [ COMMENT <comment> ]
        [ WITH DBPROPERTIES ( <property-key = property_value [ , ... ]> ) ];
    

    Também é possível omitir a instrução USE CATALOG e substituir <schema-name> por <catalog-name>.<schema-name>.

  2. Atribuir privilégios ao esquema. Confira Privilégios e objetos protegíveis do Catálogo do Unity.

Você também pode criar um esquema usando o Provedor Terraform do Databricks e databricks_schema. Você pode recuperar uma lista de IDs de esquema usando databricks_schemas

Excluir um esquema

Para excluir (ou descartar) um esquema, você pode usar o Explorador de Catálogos ou um comando SQL. Para remover um esquema, você precisa ser o respectivo proprietário.

Explorador do Catálogo

Você deve excluir todas as tabelas do esquema para excluí-lo.

  1. Faça logon em um workspace vinculado ao metastore.
  2. Clique no Ícone do catálogoCatálogo.
  3. No painel Catálogo, à esquerda, clique no esquema que você deseja excluir.
  4. No painel de detalhes, clique no menu de três pontos no canto superior direito e selecione Excluir.
  5. Na caixa de diálogo Excluir esquema, clique em Excluir.

Sql

Execute o comando SQL a seguir em um notebook ou no editor de SQL do Databricks. Os itens entre colchetes são opcionais. Substitua o espaço reservado <schema-name>.

Para obter descrições de parâmetros, confira DROP SCHEMA.

Se você usar DROP SCHEMA sem a opção CASCADE, deverá excluir todas as tabelas do esquema para excluí-lo.

DROP SCHEMA [ IF EXISTS ] <schema-name> [ RESTRICT | CASCADE ]

Por exemplo, para excluir um esquema chamado inventory_schema e suas tabelas:

DROP SCHEMA inventory_schema CASCADE

Próximas etapas

Agora você pode adicionar tabelas ou volumes ao esquema. Confira Criar tabelas no Catálogo do Unity e Criar e trabalhar com volumes.