Pular para o conteúdo principal

gerenciar locais externos

Este artigo descreve como listar, view, atualizar, conceder permissões, ativar eventos de arquivos e excluir locais externos.

nota

A Databricks recomenda controlar o acesso aos arquivos usando volumes. Consulte O que são volumes do Unity Catalog?

Descreva um local externo

Para ver as propriedades de um local externo, inclusive as permissões e o acesso workspace, o senhor pode usar o Catalog Explorer ou um comando SQL.

  1. Na barra lateral, clique em Ícone de catálogo Catálogo .
  2. Na página de acesso rápido , clique no botão External data > para acessar o site External Locations tab.
  3. Clique no nome de um local externo para acessar view suas propriedades.

Mostrar subsídios em um local externo

Para mostrar as concessões em um local externo, use um comando como o seguinte. Opcionalmente, você pode filtrar os resultados para mostrar somente as concessões para o principal especificado.

SQL
SHOW GRANTS [<principal>] ON EXTERNAL LOCATION <location-name>;

Substitua os valores temporários:

  • <location-name>: O nome do local externo que autoriza a leitura e a gravação no bucket GCS em sua nuvem tenant.
  • <principal>: O endereço email de um usuário de nível accountou o nome de um grupo de nível account.
nota

Se um grupo ou nome de usuário contiver um espaço ou símbolo @, use acentos ( ) ao redor dele, não apóstrofos.

Conceder permissões em um local externo

Esta seção descreve como conceder e revogar permissões em um local externo usando o Catalog Explorer e SQL comando em uma consulta do Notebook ou SQL. Para obter informações sobre como usar o Databricks CLI ou Terraform, consulte a documentaçãoDatabricks Terraform e What is the Databricks CLI?

Você pode conceder as seguintes permissões em um local externo:

  • CREATE EXTERNAL TABLE
  • CREATE EXTERNAL VOLUME
  • CREATE MANAGED STORAGE

Permissões necessárias : o privilégio CREATE EXTERNAL LOCATION na metastore e na credencial de armazenamento referenciada no local externo ou o privilégio MANAGE no local externo. Os administradores do metastore têm CREATE EXTERNAL LOCATION no metastore em default.

Para conceder permissão para usar um local externo:

  1. Na barra lateral, clique em Ícone de catálogo Catálogo .
  2. Na página de acesso rápido , clique no botão External data > para acessar o site External Locations tab.
  3. Clique no nome de um local externo para abrir suas propriedades.
  4. Clique em Permissões .
  5. Para conceder permissão a usuários ou grupos, selecione cada identidade e clique em Conceder .
  6. Para revogar permissões de usuários ou grupos, selecione cada identidade e clique em Revogar .

Alterar o proprietário de um local externo

O criador de um local externo é seu proprietário inicial. Para alterar o proprietário para um usuário ou grupo de nível accountdiferente, execute o seguinte comando em um Notebook ou no editor Databricks SQL ou use o Catalog Explorer.

Permissões necessárias : proprietário do local externo ou usuário com o privilégio MANAGE.

Substitua os valores temporários:

  • <location-name>: nome da credencial.
  • <principal>: O endereço email de um usuário de nível accountou o nome de um grupo de nível account.
SQL
ALTER EXTERNAL LOCATION <location-name> OWNER TO <principal>

Marcar um local externo como somente para leitura

Se quiser que os usuários tenham acesso somente para leitura a um local externo, você pode usar o Catalog Explorer para marcar o local externo como somente para leitura.

Tornando locais externos somente para leitura:

  • Impede que os usuários gravem em arquivos nesses locais externos, independentemente de quaisquer permissões de gravação concedidas pelo serviço account subjacente à credencial de armazenamento e independentemente das permissões Unity Catalog concedidas nesse local externo.
  • Impede que os usuários criem tabelas ou volumes gerenciáveis nesses locais externos.
  • Permite que o sistema valide adequadamente a localização externa no momento da criação.

Você pode marcar locais externos como somente para leitura ao criá-los.

Você também pode usar o Catalog Explorer para alterar o status somente para leitura após criar um local externo:

  1. Na barra lateral, clique em Ícone de catálogo Catálogo .
  2. Na página de acesso rápido , clique no botão External data > para acessar o site External Locations tab.
  3. Selecione o local externo, clique no Menu Kebab menu ao lado do botão Testar conexão e selecione Editar .
  4. Na caixa de diálogo de edição, clique em Opções avançadas e selecione a opção Limitar para uso somente para leitura .
  5. Clique em Atualizar .

(Recomendado) Habilitar eventos de arquivo para um local externo

info

Visualização

Esse recurso está em Public Preview.

Se o senhor quiser ingerir notificações de alteração que são enviadas pelo provedor de nuvem, habilitar a gerenciar eventos de arquivo para o local externo tem as seguintes vantagens:

Antes de começar

Se o senhor quiser que o Databricks configure filas no GCS em seu nome, seu local externo deverá fazer referência a uma credencial de armazenamento que forneça as permissões adequadas para isso. Consulte a próxima etapa para obter instruções.

Se o senhor quiser criar suas próprias filas no GCS, a identidade representada pela credencial de armazenamento deverá ter a seguinte permissão nessas filas:

pubsub.subscriptions.consume

Etapa 1: confirmar se o Databricks tem acesso aos eventos de arquivo no GCS

Antes de ativar os eventos de arquivo para o objeto securizável de local externo, o senhor deve garantir que o site GCS account esteja configurado para dar a Databricks acesso aos eventos de arquivo que ele emite. Se quiser que o Databricks configure eventos de arquivo no GCS para o senhor, também é necessário garantir que o Databricks tenha o acesso adequado.

A atribuição desse acesso é uma etapa opcional quando o senhor configura um serviço account que pode acessar os buckets GCS usando Databricks e Unity Catalog. Para verificar se o Databricks pode configurar e assinar as notificações de eventos do seu bucket:

  1. Obtenha o endereço do serviço account email .

    1. Na barra lateral, clique em Ícone de catálogo Catálogo .

    2. Na página de acesso rápido , clique no botão External data > para acessar o site External Locations tab.

    3. Selecione o local externo.

    4. Na Visão geral tab, clique no nome da credencial .

    5. Na credencial de armazenamento tabOverview, copie o account endereço de e-mail do serviço.

      Você usará isso na próxima etapa.

  2. Faça login em seu site GCP account.

  3. Acesse IAM & Admin > Roles (Funções ).

  4. Localize o serviço account cujo endereço email o senhor copiou na etapa 1.

  5. Confirme se foi atribuída uma função personalizada que inclui as seguintes configurações:

    pubsub.subscriptions.consume
    pubsub.subscriptions.create
    pubsub.subscriptions.delete
    pubsub.subscriptions.get
    pubsub.subscriptions.list
    pubsub.subscriptions.update
    pubsub.topics.attachSubscription
    pubsub.topics.create
    pubsub.topics.delete
    pubsub.topics.get
    pubsub.topics.list
    pubsub.topics.update
    storage.buckets.update
  6. Se o serviço account não tiver uma função com essas configurações, crie uma função personalizada que tenha e atribua-a ao serviço account. Para obter instruções, consulte (Recomendado) Configurar permissões para eventos de arquivo.

Etapa 2: Habilitar eventos de arquivo para o local externo usando o Catalog Explorer

Para ativar eventos de arquivo:

  1. Na barra lateral, clique em Ícone de catálogo Catálogo .

  2. Na página de acesso rápido , clique no botão External data > para acessar o site External Locations tab.

  3. Selecione o local externo.

  4. Clique no Menu Kebab menu kebab ao lado do botão Testar conexão e selecione Editar.

  5. Na caixa de diálogo de edição, clique em Opções avançadas .

  6. Selecione Habilitar eventos de arquivo .

  7. Selecione o tipo de evento Arquivo :

    Automático : (Recomendado) selecione esta opção se quiser que o Databricks configure a inscrição e os eventos para o senhor.

    Fornecido : Selecione essa opção se o senhor já tiver configurado uma inscrição no Google Cloud Pub/Sub.

  8. Se o senhor selecionou o tipo de evento Arquivo fornecido , digite o nome da inscrição Pub/Sub existente: projects/<project-id>/subscriptions/<subscription-name>.

  9. Clique em Atualizar .

  10. Aguarde alguns segundos e clique em Testar conexão na página principal de edição de localização externa para confirmar se os eventos do arquivo foram habilitados com êxito.

Limitações de eventos de arquivo

Os eventos de arquivo gerenciar têm as seguintes limitações:

  • A taxa de transferência de eventos é limitada a 2000 arquivos ingeridos por segundo.

  • Com eventos de arquivo gerenciar, o senhor não pode marcar o recurso de nuvem usando a opção resourceTags. Em vez disso, o senhor pode marcar o recurso usando o console na nuvem depois que o serviço Auto Loader criar a fila e o recurso de inscrição.

  • O senhor não pode configurar notificações de arquivo para o local de armazenamento raiz do metastore do Unity Catalog.

    Especificamente, o senhor não pode configurar notificações de arquivo usando eventos de arquivo em locais de armazenamento que não tenham um objeto de local externo definido no Unity Catalog. As implementações mais antigas do Unity Catalog incluem um local de armazenamento raiz do metastore que não está associado a um local externo. Em implementações mais recentes, especificamente aquelas no espaço de trabalho que foram ativadas para Unity Catalog automaticamente, o armazenamento no nível do metastore tem um local externo definido para ele, e os eventos de arquivo gerenciar são suportados nesse local de armazenamento. Se o senhor estiver tão confuso quanto eu, consulte Ativação automática do Unity Catalog.

Modificar um local externo

O proprietário de um local externo ou um usuário com o privilégio MANAGE pode renomear, alterar o URI e alterar a credencial de armazenamento do local externo.

Para renomear um local externo, faça o seguinte:

Execute o seguinte comando em um notebook ou no editor Databricks SQL. Substitua os valores temporários:

  • <location-name>: O nome do local.
  • <new-location-name>: Um novo nome para o local.
SQL
ALTER EXTERNAL LOCATION <location-name> RENAME TO <new-location-name>;

Para alterar o URI para o qual um local externo aponta em seu locatário de nuvem, faça o seguinte:

Execute o seguinte comando em um notebook ou no editor Databricks SQL. Substitua os valores temporários:

  • <location-name>: O nome do local externo.
  • <url>: o novo URL de armazenamento ao qual o local deve autorizar o acesso em seu locatário de nuvem.
SQL
ALTER EXTERNAL LOCATION location_name SET URL '<url>' [FORCE];

A opção FORCE altera o URL mesmo se as tabelas externas dependerem do local externo.

Para alterar a credencial de armazenamento usada por um local externo, faça o seguinte:

Execute o seguinte comando em um notebook ou no editor Databricks SQL. Substitua os valores temporários:

  • <location-name>: O nome do local externo.
  • <credential-name>: o nome da credencial de armazenamento que concede acesso à URL do local em seu locatário de nuvem.
SQL
ALTER EXTERNAL LOCATION <location-name> SET STORAGE CREDENTIAL <credential-name>;

Excluir um local externo

Para excluir (descartar) um local externo, você deve ser seu proprietário ou ter o privilégio MANAGE no local externo. Para excluir um local externo, faça o seguinte:

Execute o seguinte comando em um Notebook ou no editor Databricks SQL. Os itens entre colchetes são opcionais. Substitua <location-name> pelo nome do local externo.

SQL
DROP EXTERNAL LOCATION [IF EXISTS] <location-name>;