Partilhar via


Criar esquemas

Este artigo mostra como criar esquemas no Unity Catalog e no metastore herdado do Hive.

Para saber mais sobre esquemas no Azure Databricks, incluindo uma comparação do comportamento do esquema no Unity Catalog e no metastore do Hive, consulte O que são esquemas no Azure Databricks?.

Antes de começar

Para criar um esquema no Unity Catalog:

  • Você deve ter um metastore do Unity Catalog vinculado ao espaço de trabalho onde você executa a criação do esquema.
  • Você deve ter as permissões de dados USE CATALOG e CREATE SCHEMA no catálogo pai do esquema. Um administrador de metastore ou o proprietário do catálogo pode conceder esses privilégios. Se você for um administrador de metastore, poderá conceder esses privilégios a si mesmo.
  • Para especificar um local de armazenamento gerenciado opcional para as tabelas e volumes no esquema, um local externo deve ser definido no Catálogo Unity e você deve ter o privilégio de CREATE MANAGED STORAGE no local externo. Consulte Especificar um local de armazenamento gerenciado no Unity Catalog.
  • O cluster que você usa para executar um bloco de anotações para criar um esquema deve usar um modo de acesso compatível com o Catálogo Unity. Consulte Modos de acesso. Os armazéns SQL sempre suportam o Unity Catalog.

Para criar um esquema no metastore do Hive:

Criar um esquema

Para criar um esquema no Unity Catalog, você pode usar o Catalog Explorer ou comandos SQL. Para criar um esquema no metastore do Hive, você deve usar comandos SQL.

Explorador de Catálogos

  1. Faça login em um espaço de trabalho vinculado ao metastore do Unity Catalog.
  2. Clique no ícone Catálogo Catálogo.
  3. No painel Catálogo à esquerda, clique no catálogo no qual deseja criar o esquema.
  4. No painel de detalhes, clique em Criar esquema.
  5. Dê 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 CREATE MANAGED STORAGE privilégio no local externo de destino. Consulte Especificar um local de armazenamento gerenciado no Unity Catalog e Locais gerenciados para esquemas.
  7. Clique em Criar.
  8. Conceda privilégios no esquema de base de dados. Consulte Gerenciar privilégios no Catálogo Unity.
  9. Clique em Guardar.

SQL

  1. Execute os seguintes comandos SQL em um bloco de anotações ou no editor de consultas SQL. Os itens entre parênteses são opcionais. Pode utilizar SCHEMA ou DATABASE. Substitua os valores de espaço reservado:

    • <catalog-name>: O nome do catálogo principal do esquema. Se você estiver criando um esquema no metastore do Hive e estiver em um espaço de trabalho habilitado para Catálogo Unity, use hive_metastore como o nome do catálogo. Se seu espaço de trabalho não estiver habilitado para o Unity Catalog, não especifique um catálogo.
    • <schema-name>: Um nome para o esquema.
    • <location-path>: Caminho opcional para um local de armazenamento gerenciado. Use com o MANAGED LOCATION para o Unity Catalog e com o LOCATION para o metastore do Hive. No Unity Catalog, você deve ter o privilégio de CREATE MANAGED STORAGE no local externo para o caminho especificado. Consulte Especificar um local de armazenamento gerenciado no Unity Catalog e Locais gerenciados para esquemas.
    • <comment>: Descrição opcional ou outro comentário.
    • <property-key> = <property-value> [ , ... ]: Opcional. Propriedades do Spark SQL e valores para definir para o esquema.

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

    CREATE { DATABASE | SCHEMA } [ IF NOT EXISTS ] <catalog-name>.<schema-name>
        [ MANAGED LOCATION '<location-path>' | LOCATION '<location-path>']
        [ COMMENT <comment> ]
        [ WITH DBPROPERTIES ( <property-key = property_value [ , ... ]> ) ];
    
  2. Conceda privilégios no esquema de base de dados. Para obter privilégios do Catálogo Unity, consulte Gerenciar privilégios no Catálogo Unity.

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

Próximos passos