[Ultimate]{class="badge positive"}

Databricks

AVAILABILITY
A origem Databricks está disponível no catálogo de origens para usuários que compraram o Real-Time CDP Ultimate.

Databricks é uma plataforma baseada em nuvem projetada para análise de dados, aprendizado de máquina e IA. Você pode usar o Databricks para integrar e fornecer um ambiente holístico para criar, implantar e gerenciar soluções de dados em escala.

Use a fonte Databricks para conectar sua conta e assimilar os dados do Databricks na Adobe Experience Platform.

Pré-requisitos

Conclua as etapas de pré-requisito para conectar com êxito sua conta do Databricks à Experience Platform.

Recuperar credenciais do container

Recupere as credenciais do Experience Platform Azure Blob Storage para habilitar a conta do Databricks para acessá-la mais tarde.

Para recuperar suas credenciais, faça uma solicitação GET para o ponto de extremidade /credentials da API Connectors.

Formato da API

GET /data/foundation/connectors/landingzone/credentials?type=dlz_databricks_source

Solicitação

A solicitação a seguir recupera as credenciais para o Experience Platform Azure Blob Storage.

Exibir exemplo de solicitação
code language-shell
curl -X GET \
  'https://platform.adobe.io/data/foundation/connectors/landingzone/credentials?type=dlz_databricks_source' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \

Resposta

Uma resposta bem-sucedida fornece suas credenciais (containerName, SASToken, storageAccountName) para uso posterior na configuração Apache Spark para Databricks.

Exibir exemplo de resposta
code language-json
{
    "containerName": "dlz-databricks-container",
    "SASToken": "sv=2020-10-02&si=dlz-b1f4060b-6bbd-4043-9bd9-a5f5be72de30&sr=c&sp=racwdlm&sig=zVQfmuElZJzOKkUk8z5lChrJ3YQUE2h6EShDZOsVeMc%3D",
    "storageAccountName": "sndbxdtlndga8m7ajbvgc64k",
    "SASUri": "https://sndbxdtlndga8m7ajbvgc64k.blob.core.windows.net/dlz-databricks-container?sv=2020-10-02&si=dlz-b1f4060b-6bbd-4043-9bd9-a5f5be72de30&sr=c&sp=racwdlm&sig=zVQfmuElZJzOKkUk8z5lChrJ3YQUE2h6EShDZOsVeMc%3D",
    "expiryDate": "2025-07-05"
}
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
Propriedade Descrição
containerName O nome do seu container Azure Blob Storage. Você usará esse valor posteriormente ao concluir a configuração do Apache Spark para Databricks.
SASToken O token de assinatura de acesso compartilhado para o seu Azure Blob Storage. Esta cadeia de caracteres contém todas as informações necessárias para autorizar uma solicitação.
storageAccountName O nome da sua conta de armazenamento.
SASUri O URI de assinatura de acesso compartilhado para o seu Azure Blob Storage. Esta cadeia de caracteres é uma combinação do URI para o Azure Blob Storage para o qual você está sendo autenticado e seu token SAS correspondente.
expiryDate A data em que o token SAS expirará. Você deve atualizar seu token antes da data de expiração para continuar usando-o em seu aplicativo para carregar dados para o Azure Blob Storage. Se você não atualizar o token manualmente antes da data de expiração declarada, ele será atualizado automaticamente e fornecerá um novo token quando a chamada de credenciais GET for executada.

Atualizar suas credenciais

NOTE
Suas credenciais existentes serão revogadas assim que você atualizar suas credenciais. Portanto, você deve atualizar suas configurações do Spark adequadamente sempre que atualizar suas credenciais de armazenamento. Caso contrário, seu fluxo de dados falhará.

Para atualizar suas credenciais, faça uma solicitação POST e inclua action=refresh como parâmetro de consulta.

Formato da API

POST /data/foundation/connectors/landingzone/credentials?type=dlz_databricks_source&action=refresh

Solicitação

A solicitação a seguir atualiza as credenciais para o Azure Blob Storage.

Exibir exemplo de solicitação
code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/connectors/landingzone/credentials?type=dlz_databricks_source&action=refresh' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \

Resposta

Uma resposta bem-sucedida retorna suas novas credenciais.

Exibir exemplo de resposta
code language-json
{
    "containerName": "dlz-databricks-container",
    "SASToken": "sv=2020-10-02&si=dlz-6e17e5d6-de18-4efc-88c7-45f37d242617&sr=c&sp=racwdlm&sig=wvA4K3fcEmqAA%2FPvcMhB%2FA8y8RLwVJ7zhdWbxvT1uFM%3D",
    "storageAccountName": "sndbxdtlndga8m7ajbvgc64k",
    "SASUri": "https://sndbxdtlndga8m7ajbvgc64k.blob.core.windows.net/dlz-databricks-container?sv=2020-10-02&si=dlz-6e17e5d6-de18-4efc-88c7-45f37d242617&sr=c&sp=racwdlm&sig=wvA4K3fcEmqAA%2FPvcMhB%2FA8y8RLwVJ7zhdWbxvT1uFM%3D",
    "expiryDate": "2025-07-20"
}

Configurar acesso ao seu Azure Blob Storage

IMPORTANT
  • Se o cluster tiver sido encerrado, o serviço o reiniciará automaticamente durante uma execução de fluxo. No entanto, você deve garantir que seu cluster esteja ativo ao criar uma conexão ou um fluxo de dados. Além disso, seu cluster deverá estar ativo se você estiver executando ações como visualização ou exploração de dados, pois essas ações não podem solicitar a reinicialização automática de um cluster encerrado.

  • O contêiner Azure inclui uma pasta chamada adobe-managed-staging. Para garantir a assimilação perfeita de dados, não modifique esta pasta.

Em seguida, verifique se o cluster Databricks tem acesso à conta Azure Blob Storage do Experience Platform. Ao fazer isso, você pode usar Azure Blob Storage como um local temporário para gravar dados da tabela delta lake.

Para fornecer acesso, você deve configurar um token SAS no cluster Databricks como parte de sua configuração Apache Spark.

Na interface Databricks, selecione Advanced options e insira o seguinte na caixa de entrada Spark config.

fs.azure.sas.{CONTAINER_NAME}.{STORAGE-ACCOUNT}.blob.core.windows.net {SAS-TOKEN}
Propriedade
Descrição
Nome do container
O nome do seu container. Você pode obter esse valor recuperando suas credenciais do Azure Blob Storage.
Conta de armazenamento
O nome da sua conta de armazenamento. Você pode obter esse valor recuperando suas credenciais do Azure Blob Storage.
Token SAS
O token de assinatura de acesso compartilhado para o seu Azure Blob Storage. Você pode obter esse valor recuperando suas credenciais do Azure Blob Storage.

A interface do usuário do Databricks no Azure.

Se não for fornecida, a atividade de cópia na execução do fluxo falhará e retornará o seguinte erro:

Unable to access container '{CONTAINER_NAME}' in account '{STORAGE_ACCOUNT}.blob.core.windows.net' using anonymous credentials. No credentials found in the configuration. Public access is not permitted on this storage account.

Governança do Catálogo do Unity e modo de acesso do cluster

O conector de origem de Databricks executa operações de leitura e gravação (E/S) no cluster de Databricks durante a assimilação. Essas operações exigem permissões de objeto do Catálogo do Unity e, dependendo do modo de acesso do cluster, permissões adicionais no nível do cluster. Configure ambos antes de se conectar.

Conceder permissões do Catálogo de Unidade

Conceda as seguintes permissões do Catálogo de Unidade nos objetos de origem à identidade usada pela conexão (uma entidade de serviço):

Privilégio
Objeto
USE CATALOG
O catálogo
USE SCHEMA
O schema
SELECT
A tabela de origem

Configurar o modo de acesso do cluster

Selecione o modo de acesso usado pelo cluster de Databricks e conclua a configuração correspondente.

TIP
Modo de acesso dedicado (Usuário único) recomendado. Atribua o usuário único do cluster à entidade de serviço do conector. As operações de E/S do conector são concluídas usando apenas suas concessões do Catálogo do Unity, portanto, nenhuma permissão adicional no nível do cluster é necessária e todo o acesso permanece controlado pelo Catálogo do Unity.

Modo de acesso padrão (compartilhado)

O modo de acesso Padrão (Compartilhado) impõe o Controle de Acesso à Tabela. Além das concessões do Catálogo Unity acima, as operações de E/S do conector exigem o privilégio ANY FILE. Conceda-o à entidade de serviço do conector:

GRANT SELECT ON ANY FILE TO `{SERVICE_PRINCIPAL}`;
GRANT MODIFY ON ANY FILE TO `{SERVICE_PRINCIPAL}`;
IMPORTANT
ANY FILE é um privilégio herdado para acesso direto a arquivos e não é regido pelo Catálogo do Unity — tem um escopo mais amplo do que as permissões de objeto do Catálogo do Unity e não concede ou ignora o acesso aos objetos do Catálogo do Unity (as tabelas do Catálogo do Unity ainda exigem suas próprias concessões de UC). Revise-o com sua equipe de segurança. Para evitar a concessão, use o modo de acesso dedicado.

Se as permissões necessárias para o modo de acesso do cluster não estiverem em vigor, a assimilação falhará durante a execução com o seguinte erro:

[INSUFFICIENT_PERMISSIONS] ... on any file. SQLSTATE: 42501.

Conectar Databricks ao Experience Platform

Agora que você concluiu as etapas de pré-requisito, pode prosseguir e conectar sua conta do Databricks à Experience Platform:

recommendation-more-help
experience-platform-help-sources