Pular para o conteúdo principal

Gerenciar provedores Delta Sharing para destinatários de dados

Esta página descreve como usar Unity Catalog para obter informações sobre provedores de dados que compartilham dados com você usando Delta Sharing. Este documento também descreve o que é um objeto provedor e quando você pode precisar criar um objeto provedor no seu metastore Unity Catalog , uma tarefa que a maioria dos destinatários nunca precisará realizar.

importante

Os destinatários dos dados devem ter acesso a um workspace Databricks que esteja habilitado para o Unity Catalog para usar as funcionalidades descritas. Esta página não se aplica a destinatários que não possuem um espaço de trabalho com o Catálogo Unity habilitado.

Os destinatários precisam criar objetos de provedor?

Em Delta Sharing em Databricks, o termo "provedor" pode significar tanto a organização que está compartilhando dados com o senhor quanto um objeto seguro no metastore Unity Catalog de um destinatário que representa essa organização. A existência desse objeto seguro no metastore Unity Catalog de um destinatário permite que os destinatários gerenciem o acesso de sua equipe ao uso compartilhado de dados Unity Catalog.

Como destinatário com acesso a um metastore do Unity Catalog, o senhor normalmente não precisa criar objetos de provedor. Isso ocorre porque os dados devem ser compartilhados com o senhor usando o compartilhamento Databricks-to-Databricks, e os objetos do provedor são criados automaticamente no metastore do Unity Catalog.

nota

Se estiver recebendo dados de um provedor que não esteja compartilhando de um Unity Catalog habilitado Databricks workspace, o senhor pode usar o Catalog Explorer para importar o arquivo de credenciais do provedor. Consulte:Databricks Leia os conectores de uso compartilhado de dados de compartilhamento aberto.

Antes de começar

Para gerenciar provedores em seu site Databricks workspace:

  • Seu workspace deve estar habilitado para o Unity Catalog.
  • Para view um provedor, o senhor deve ser um administrador de metastore ou um administrador de metastore deve conceder-lhe o privilégio USE PROVIDER.
  • Para criar um provedor, você deve ser administrador da metastore ou um administrador da metastore deve conceder a você o privilégio CREATE PROVIDER.
  • Para atualizar um provedor, você deve ser o proprietário do objeto do provedor e ter o privilégio CREATE PROVIDER. Para obter detalhes, consulte Atualizar um provedor (renomear, alterar proprietário, comentar).

Por esse motivo, se o seu workspace foi criado sem um administrador de metastore, um administrador do Databricks account deverá conceder a um usuário ou grupo a função de administrador de metastore antes que o senhor possa trabalhar com objetos de provedor no Databricks. Consulte Ativação automática do Unity Catalog e (Opcional) Atribuir a função de administrador do metastore.

ver fornecedores

Para view uma lista de provedores de dados disponíveis, o senhor pode usar o Catalog Explorer, o Databricks Unity Catalog CLI, ou o comando SHOW PROVIDERS SQL em um Databricks Notebook ou o editor de consultas Databricks SQL.

Permissões necessárias : Você deve ter o privilégio USE PROVIDER para view todos os provedores no metastore. Outros usuários têm acesso apenas aos provedores que possuem.

  1. Em seu site Databricks workspace, clique em Ícone de dados. Catalog .

  2. Na parte superior do painel Catálogo , clique no ícone de engrenagem Ícone de engrenagem. e selecione Delta Sharing .

    Alternativamente, no canto superior direito, clique em Compartilhar > Delta Sharing .

  3. Em Compartilhado comigo , tab, view, todos os dados compartilhados com sua organização. Para cada compartilhamento, os seguintes detalhes são fornecidos:

    • Nome: O nome da organização, conforme especificado pelo provedor.
    • Tipo de autenticação: O método de compartilhamento utilizado pelo provedor.
    • Proprietário: O nome do provedor ou email.
    • Criado em: A data e a hora em que o compartilhamento foi criado.
    • Descrição: A descrição do compartilhamento.

visualizar detalhes do provedor

Para view detalhes sobre um provedor, o senhor pode usar o Catalog Explorer, o Databricks Unity Catalog CLI, ou o comando DESCRIBE PROVIDER SQL em um Databricks Notebook ou o editor de consultas Databricks SQL.

Permissões necessárias : administrador do Metastore, usuário com o privilégio USE PROVIDER ou proprietário do objeto do provedor.

Os detalhes incluem:

  • Compartilhamentos compartilhados pelo provedor (veja os compartilhamentos que um provedor compartilhou com o senhor).
  • O criador do provedor, o carimbo de data e hora de criação, os comentários e o tipo de autenticação (TOKEN ou DATABRICKS). TOKEN representa os provedores que compartilharam dados com o senhor usando o protocolo de compartilhamento aberto Delta Sharing. DATABRICKS representa os provedores que compartilharam dados com o senhor usando o protocolo de compartilhamento Databricks-to-Databricks.
  • Se o provedor usar o compartilhamento Databricks-to-Databricks: a nuvem, a região e o ID do metastore do Unity Catalog do provedor.
  • Se o provedor usar compartilhamento aberto: seu endpoint de perfil de destinatário, que é o local onde o servidor de compartilhamento Delta Sharing está hospedado.
  1. Em seu site Databricks workspace, clique em Ícone de dados. Catalog .

  2. Na parte superior do painel Catálogo , clique no ícone de engrenagem Ícone de engrenagem. e selecione Delta Sharing .

    Alternativamente, no canto superior direito, clique em Compartilhar > Delta Sharing .

  3. No Shared with me tab, localize e selecione o provedor.

visualizar ações que um provedor compartilhou com o senhor

Para view os compartilhamentos que um provedor compartilhou com o senhor, é possível usar o Catalog Explorer, o Databricks Unity Catalog CLI, ou o comando SHOW SHARES IN PROVIDER SQL em um Databricks Notebook ou o editor de consultas Databricks SQL.

Permissões necessárias : administrador do Metastore, usuário com o privilégio USE PROVIDER ou proprietário do objeto do provedor.

  1. Em seu site Databricks workspace, clique em Ícone de dados. Catalog .

  2. Na parte superior do painel Catálogo , clique no ícone de engrenagem Ícone de engrenagem. e selecione Delta Sharing .

    Alternativamente, no canto superior direito, clique em Compartilhar > Delta Sharing .

  3. No Shared with me tab, localize e selecione o provedor.

Atualizar um provedor (renomear, alterar proprietário, comentar)

O senhor pode usar o Catalog Explorer, o Databricks Unity Catalog CLI, ou o comando ALTER PROVIDER SQL em um Databricks Notebook ou o editor de consultas Databricks SQL para modificar o objeto do provedor em seu Unity Catalog metastore:

  • Renomeie o provedor para modificar a forma como os usuários veem o objeto do provedor em suas interfaces do Databricks.
  • Altere o proprietário do objeto do provedor.
  • Adicione ou modifique comentários.

Permissões necessárias : você deve ser o proprietário do objeto do provedor para atualizar o proprietário. Você precisa ser administrador da metastore (ou usuário com o privilégio CREATE PROVIDER) e proprietário do provedor para atualizar o nome do provedor. Você precisa ser o proprietário para atualizar o comentário. O proprietário inicial é o administrador da metastore.

  1. Em seu site Databricks workspace, clique em Ícone de dados. Catalog .

  2. Na parte superior do painel Catálogo , clique no ícone de engrenagem Ícone de engrenagem. e selecione Delta Sharing .

    Alternativamente, no canto superior direito, clique em Compartilhar > Delta Sharing .

  3. No Shared with me tab, localize e selecione o provedor.

  4. Na página de detalhes, atualize o nome do proprietário, do comentário ou do provedor.

    Para renomear um provedor, clique no Ícone do menu Kebab. menu kebab e selecione Renomear.

Rotacionar credenciais para destinatários abertos

Esta seção se aplica a objetos de provedor com tipo de autenticação TOKEN, OAUTH_CLIENT_CREDENTIALS ou OIDC_FEDERATION. Os provedores Databricks-to-Databricks (tipo de autenticação DATABRICKS) rotacionam automaticamente. Se você acessar dados sem um objeto provedor, por exemplo, usando o conector Python ou Spark delta-sharing , aplique o novo arquivo de credenciais na configuração do seu conector. Consulte a seção "Ler dados compartilhados usando o compartilhamento aberto Delta Sharing com tokens de portador".

Um provedor que utiliza o protocolo Open Compartilha pode rotacionar seus tokens de portador e enviar um novo arquivo de credenciais. Quando isso acontecer, use a API REST do Databricks para atualizar o objeto do provedor. Não descarte e recrie o provedor para aplicar uma nova credencial. Os catálogos estão vinculados ao ID interno do provedor, não ao seu nome. Recriar um provedor com o mesmo nome interrompe a conexão do catálogo com os dados compartilhados.

ALTER PROVIDERO Databricks CLI e o Catalog Explorer não oferecem suporte à atualização de credenciais do provedor.

Atualizar as credenciais

Envie uma solicitação PATCH para o endpoint do provedor com o conteúdo do novo arquivo de credenciais no campo recipient_profile_str .

Permissões necessárias : Proprietário do objeto do provedor ou administrador do metastore.

executar o seguinte a partir de um Notebook no workspace do destinatário. Substitua <provider-name> pelo nome do objeto provedor em seu metastore e atualize new_profile com os valores do novo arquivo de credenciais.

Python
import json
import requests

new_profile = {
"shareCredentialsVersion": 1,
"bearerToken": "<new-bearer-token>",
"endpoint": "https://<provider-workspace>.cloud.databricks.com/api/2.0/delta-sharing/metastores/<metastore-id>",
}

token = (
dbutils.notebook.entry_point.getDbutils()
.notebook()
.getContext()
.apiToken()
.get()
)
workspace_url = spark.conf.get("spark.databricks.workspaceUrl")

response = requests.patch(
f"https://{workspace_url}/api/2.1/unity-catalog/providers/<provider-name>",
headers={
"Authorization": f"Bearer {token}",
"Content-Type": "application/json",
},
json={"recipient_profile_str": json.dumps(new_profile)},
)

print(response.status_code)
print(response.json())

Uma rotação bem-sucedida retorna a seguinte resposta com os metadados atualizados do provedor.

JSON
{
"name": "<provider-name>",
"authentication_type": "TOKEN",
"owner": "user@example.com",
"recipient_profile": {
"share_credentials_version": 1,
"endpoint": "https://<provider-workspace>.cloud.databricks.com/api/2.0/delta-sharing/metastores/<metastore-id>"
},
"updated_at": 1775804332820,
"updated_by": "user@example.com",
"id": "abcd2a5b-c18e-46eb-ae11-3056cfe99bef"
}

Para obter detalhes, consulte a API REST Atualizar um provedor .

Verifique a rotação.

Confirme se o catálogo, os esquemas e as tabelas ainda estão acessíveis. O nome do catálogo deve ser o mesmo de antes da rotação.

  1. Em seu site Databricks workspace, clique em Ícone de dados. Catalog .

  2. Na parte superior do painel Catálogo , clique no ícone de engrenagem Ícone de engrenagem. e selecione Delta Sharing .

    Alternativamente, no canto superior direito, clique em Compartilhar > Delta Sharing .

  3. Na tab "Compartilhado comigo" , encontre seu provedor.

Os avisos de erro anteriores devem ter desaparecido e as ações devem ser listadas novamente. O catálogo listado deve ser o mesmo que era anteriormente.

Solução de problemas

Erro

Consertar

Devoluções de solicitações 403 Forbidden

Você precisa ser o proprietário do provedor ou um administrador do metastore para rotacionar as credenciais. Solicite a um administrador do metastore que aplique a rotação ou transfira a propriedade. Veja Atualizar ações.

Devoluções de solicitações 404 Not Found

O nome do fornecedor está incorreto. execução SHOW PROVIDERS para listar os nomes exatos em seu metastore.

A solicitação retorna 400 Bad Request com a mensagem "o perfil do destinatário não pode ser atualizado".

A API atualiza as credenciais apenas para os provedores TOKEN, OAUTH_CLIENT_CREDENTIALS e OIDC_FEDERATION . Para compartilhamento Databricks-to-Databricks , as credenciais são rotacionadas automaticamente.

As consultas retornam TABLE_OR_VIEW_NOT_FOUND

O nome do catálogo pode estar incorreto ou a vinculação entre o catálogo e o provedor pode estar quebrada. execução SHOW CATALOGS e SHOW SCHEMAS IN <catalog-name> para confirmar que o catálogo existe.

O Catalog Explorer mostra dados desatualizados ou erros após um PATCH bem-sucedido.

Você está vendo resultados em cache de antes da rotação. Atualize a página ou aguarde alguns minutos.

Excluir um provedor

Para excluir um provedor, você pode usar o Catalog Explorer, a CLI Databricks ou o comando SQL DROP PROVIDER em um Notebook Databricks ou no editor de consultas Databricks SQL . Você precisa ser o proprietário do objeto provedor para excluir o provedor.

Quando você exclui um provedor, você e os usuários da sua organização (o destinatário) não podem mais acessar os dados compartilhados pelo provedor.

Permissões necessárias : proprietário do objeto do provedor.

  1. Em seu site Databricks workspace, clique em Ícone de dados. Catalog .

  2. Na parte superior do painel Catálogo , clique no ícone de engrenagem Ícone de engrenagem. e selecione Delta Sharing .

    Alternativamente, no canto superior direito, clique em Compartilhar > Delta Sharing .

  3. No Shared with me tab, localize e selecione o provedor.

  4. Ícone do menu Kebab. Clique no menu kebab e selecione Excluir.

  5. Na caixa de diálogo de confirmação, clique em Excluir .