Tutorial: Crie sua primeira tabela e conceda privilégios no Unity Catalog

Este artigo fornece um rápido passo a passo sobre como criar uma tabela e conceder privilégios no Unity Catalog. Ele é destinado a usuários, mas também pode ser de interesse para administradores que são recentemente responsáveis pelo gerenciamento do Unity Catalog.

Para começar imediatamente, você pode ir direto para a primeira seção deste artigo. Se você quiser se familiarizar primeiro com os conceitos básicos, consulte O que é o Unity Catalog?.

Se você for um administrador responsável por configurar Unity Catalog e gerenciá-lo em sua organização, consulte Configurar e gerenciar Unity Catalog.

Antes de começar

Para realizar a tarefa descrita neste artigo, você deve ter:

Confirmar o acesso a um catálogo

Para executar o tutorial nestes artigos, você deve ter o privilégio USE CATALOG em um catálogo no Unity Catalog e os privilégios USE SCHEMA e CREATE TABLE no esquema default nesse catálogo. Os catálogos são o topo do namespace de três níveis no Unity Catalog: catalog.schema.table.

Para determinar se você tem acesso a um catálogo:

  1. log in em seu workspace.

  2. Clique Ícone de catálogo Catálogo.

  3. Em Catálogo no painel esquerdo, view todos os catálogos que você tem permissão para listar.

    Se você vir um catálogo de workspace com o nome do seu workspace, acesse Criar sua primeira tabela e gerenciar permissões (para workspaces que incluem um catálogo de workspace). Se você vir um catálogo principal , vá para Criar sua primeira tabela e gerenciar permissões (para workspace que incluem um catálogo principal).

    Para determinar se você tem permissão adequada em qualquer outro catálogo, clique no nome do catálogo no painel esquerdo para abrir o painel de detalhes e abra a Permissões tab para view suas permissões. Se você tiver USE CATALOG no catálogo e USE SCHEMA e CREATE TABLE no esquema default do catálogo, poderá usar o tutorial Crie sua primeira tabela e gerencie permissões (para workspace que incluem um catálogo principal).

Se você não tiver USE CATALOG em pelo menos um catálogo, peça a um administrador account para atribuí-lo a você. Solicite também USE SCHEMA e CREATE TABLE no esquema default do catálogo.

Crie sua primeira tabela e gerencie permissões (para espaços de trabalho que incluem um catálogo de espaços de trabalho)

Use este tutorial se seu workspace tiver sido ativado automaticamente para Unity Catalog e incluir um catálogoworkspace , nomeado após o workspace. Consulte Confirmar acesso a um catálogo.

Unity Catalog permite definir o acesso a tabelas de forma declarativa usando SQL ou a UI do Databricks Explorer.

Neste exemplo, você executará um Notebook que cria uma tabela chamada department no catálogo workspace e no esquema default (banco de dados). Este catálogo e esquema são criados automaticamente para todos os workspace que foram habilitados automaticamente para o Unity Catalog.

Permissões necessárias: privilégio USE CATALOG no catálogo workspace e USE SCHEMA e CREATE TABLE no esquema <workspace-catalog>.default. Todos os usuários workspace recebem esses privilégios quando o workspace é criado. Nenhuma outra permissão é necessária para concluir este exemplo além daquelas que você concede ao executá-lo.

  1. Crie um Notebook e anexe-o a clusters compatíveis com o Unity Catalog ou a SQL warehouse. Consulte Antes de começar.

    Selecione SQL como idioma do seu Notebook .

  2. Adicione o seguinte comando ao Notebook e execute-o (onde <workspace-catalog> é o nome do catálogo do seu workspace ):

    USE CATALOG <workspace-catalog>
    
    CREATE TABLE IF NOT EXISTS default.department
    (
       deptcode   INT,
       deptname  STRING,
       location  STRING
    );
    
    INSERT INTO default.department VALUES
       (10, 'FINANCE', 'EDINBURGH'),
       (20, 'SOFTWARE', 'PADDINGTON');
    

    Observação

    Se o seu catálogo workspace estiver definido como o catálogo default para seu workspace, você não precisará fornecer o namespace completo de três níveis (<workspace-catalog>.default.department) ou a instrução USE CATALOG <catalog>, porque o catálogo workspace é definido como o catálogodefault para workspace e, portanto, é assumido. Sempre que você fizer referência a um catálogo diferente do catálogo default , deverá especificar o catálogo na instrução ou declará-lo com uma instrução USE CATALOG <catalog>.

    Agora você tem uma tabela no Unity Catalog.

  3. Encontre a nova tabela no Catalog Explorer.

    Na barra lateral, clique em Ícone de catálogo Catalog e navegue ou pesquise o catálogo workspace (<workspace-name>) e o esquema default, onde você encontrará a tabela department.

    Use o Catalog Explorer para localizar uma tabela no catálogo workspace

    Observe que você não precisa de clusters em execução ou SQL warehouse para navegar pelos dados no Catalog Explorer.

  4. Conceda permissões na mesa.

    Como criador original da tabela, você é o proprietário da tabela e pode conceder permissão a outros usuários para ler ou gravar na tabela. Você pode até transferir a propriedade, mas não faremos isso aqui.

    Na página da tabela no Catalog Explorer, acesse a Permissions tab e clique em Grant.

    Na caixa de diálogo Conceder em :

    1. Selecione os usuários e grupos aos quais deseja conceder permissão. Neste exemplo, usamos um grupo chamado data-consumers.

    2. Selecione os privilégios que deseja conceder. Para este exemplo, atribua o privilégio SELECT (leitura) e clique em Conceder.

    Para obter mais informações sobre o modelo de privilégios e permissões Unity Catalog , consulte gerenciar privilégios no Unity Catalog.

    Você também pode conceder essas permissões usando a seguinte instrução SQL em um do Databricks Notebook ou no Databricks SQL query editor :

    GRANT SELECT ON default.department TO `data-consumers`;
    

Crie sua primeira tabela e gerencie as permissões (para workspace que incluam um catálogo principal)

Use este tutorial se você tiver acesso ao catálogo main . Consulte Confirmar acesso a um catálogo.

Observação

Como alternativa, você pode usar este tutorial com qualquer catálogo para o qual tenha as seguintes permissões: USE CATALOG no catálogo e USE SCHEMA e CREATE TABLE no esquema default . Substitua o nome do seu catálogo por main nos exemplos a seguir.

Unity Catalog permite definir o acesso a tabelas de forma declarativa usando SQL ou a UI do Databricks Explorer.

Neste exemplo, você executará um Notebook que cria uma tabela chamada department no catálogo main e no esquema (banco de dados) default. Este catálogo e esquema são criados automaticamente para todos os meta-lojas.

Você também pode tentar executar um Notebook de exemplo que executa as mesmas tarefas.

Permissões necessárias

Este tutorial requer o privilégio USE CATALOG no catálogo main e USE SCHEMA e CREATE TABLE no esquema main.default .

Por default, todos os usuários account têm USE CATALOG em main e USE SCHEMA em default. Talvez seja necessário solicitar ao proprietário do catálogo que conceda CREATE TABLE no esquema default . Se você for um administrador do metastore ou proprietário do catálogo, poderá conceder a si mesmo ou a qualquer usuário ou grupo o privilégio CREATE TABLE usando o seguinte comando em um Notebook compatível com o Unity Catalog:

GRANT CREATE TABLE ON SCHEMA main.default TO `<user or group>`;

Instruções do tutorial

  1. Crie um Notebook e anexe-o a clusters compatíveis com o Unity Catalog. Consulte Antes de começar.

    Selecione SQL como idioma do seu Notebook .

  2. Adicione o seguinte comando ao Notebook e execute-o:

    CREATE TABLE IF NOT EXISTS main.default.department
    (
      deptcode   INT,
      deptname  STRING,
      location  STRING
    );
    
    INSERT INTO main.default.department VALUES
      (10, 'FINANCE', 'EDINBURGH'),
      (20, 'SOFTWARE', 'PADDINGTON');
    

    Agora você tem uma tabela no Unity Catalog.

  3. Encontre a nova tabela no Catalog Explorer.

    Na barra lateral, clique em Ícone de catálogo Catalog e use o navegador (ou pesquisa) para localizar o catálogo main e o esquema default , onde você encontrará a tabela department .

    Use o Catalog Explorer para encontrar uma tabela

    Observe que você não precisa de clusters em execução ou SQL warehouse para navegar pelos dados no Catalog Explorer.

  4. Conceda permissões na mesa.

    Como criador original da tabela, você é o proprietário da tabela e pode conceder permissão a outros usuários para ler ou gravar na tabela. Você pode até transferir a propriedade, mas não faremos isso aqui.

    Na página da tabela no Catalog Explorer, acesse a Permissions tab e clique em Grant.

    Na caixa de diálogo Conceder em :

    1. Selecione os usuários e grupos aos quais deseja conceder permissão. Neste exemplo, usamos um grupo chamado data-consumers.

    2. Selecione os privilégios que deseja conceder. Para este exemplo, atribua o privilégio SELECT e clique em Conceder.

    Para obter mais informações sobre o modelo de privilégios e permissões Unity Catalog , consulte gerenciar privilégios no Unity Catalog.

    Você também pode conceder essas permissões usando a seguinte instrução SQL em um do Databricks Notebook ou no Databricks SQL query editor :

    GRANT SELECT ON main.default.department TO `data-consumers`;
    
  5. execute um dos Notebook de exemplo a seguir para obter um passo a passo mais detalhado que inclui a criação de catálogo e esquema, um resumo dos privilégios disponíveis, um exemplo query e muito mais.

Notebook de exemplo: crie seu primeiro catálogo, esquema e tabela

Você pode usar o Notebook de exemplo a seguir para criar um catálogo, um esquema e uma tabela, bem como gerenciar permissões em cada um.

Crie e gerencie uma tabela do Unity Catalog usando Python Notebook

Abra o bloco de anotações em outra guia

Crie e gerencie uma tabela do Unity Catalog usando SQL Notebook

Abra o bloco de anotações em outra guia