[Ultimate]{class="badge positive"}
Databricks
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.
| code language-shell |
|---|
|
Resposta
Uma resposta bem-sucedida fornece suas credenciais (containerName, SASToken, storageAccountName) para uso posterior na configuração Apache Spark para Databricks.
| code language-json |
|---|
|
| 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
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.
| code language-shell |
|---|
|
Resposta
Uma resposta bem-sucedida retorna suas novas credenciais.
| code language-json |
|---|
|
Configurar acesso ao seu Azure Blob Storage
-
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}
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):
USE CATALOGUSE SCHEMASELECTConfigurar o modo de acesso do cluster
Selecione o modo de acesso usado pelo cluster de Databricks e conclua a configuração correspondente.
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}`;
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: