[Ultimate]{class="badge positive"}

Databricks

AVAILABILITY
Databricks ソースは、Real-Time CDP Ultimateを購入したユーザーがソースカタログで利用できます。

Databricksは、データ分析、マシンラーニング、AI向けに設計されたクラウドベースのプラットフォームです。 Databricksを使用して、大規模にデータソリューションを構築、デプロイ、管理するための包括的な環境を統合および提供できます。

Databricks ソースを使用してアカウントを接続し、Databricks データをAdobe Experience Platformに取り込みます。

前提条件

Databricks アカウントをExperience Platformに正常に接続するための前提条件の手順を完了します。

コンテナ資格情報の取得

Experience Platform Azure Blob Storageの資格情報を取得して、Databricks アカウントが後でアクセスできるようにします。

資格情報を取得するには、/credentials APIのConnectors エンドポイントに対してGET リクエストを行います。

API 形式

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

リクエスト

次のリクエストは、Experience Platform Azure Blob Storageの資格情報を取得します。

リクエストの例を表示
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' \

応答

応答が成功すると、後でcontainerNameの構成でSASTokenに使用するために資格情報(storageAccountName、Apache Spark、Databricks)が提供されます。

応答の例を表示
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
プロパティ 説明
containerName Azure Blob Storage コンテナの名前。 この値は、後でApache SparkのDatabricks設定を完了する際に使用します。
SASToken Azure Blob Storageの共有アクセス署名トークン。 この文字列には、リクエストの承認に必要なすべての情報が含まれます。
storageAccountName ストレージアカウントの名前。
SASUri Azure Blob Storageの共有アクセス署名URI。 この文字列は、認証対象のAzure Blob StorageへのURIとそれに対応するSAS トークンの組み合わせです。
expiryDate SAS トークンの有効期限。 データをAzure Blob Storageにアップロードするアプリケーションでトークンを引き続き使用するには、有効期限の前にトークンを更新する必要があります。 指定された有効期限より前にトークンを手動で更新しない場合は、GET資格情報呼び出しが実行されたときに自動的に更新され、新しいトークンが提供されます。

資格情報を更新

NOTE
資格情報を更新すると、既存の資格情報が取り消されます。 したがって、ストレージ資格情報を更新するたびに、それに応じてSpark設定を更新する必要があります。 そうしないと、データフローは失敗します。

資格情報を更新するには、POST リクエストを行い、action=refreshをクエリパラメーターとして含めます。

API 形式

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

リクエスト

次のリクエストは、Azure Blob Storageの資格情報を更新します。

リクエストの例を表示
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' \

応答

応答が成功すると、新しい資格情報が返されます。

応答の例を表示
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"
}

Azure Blob Storageへのアクセスを設定

IMPORTANT
  • クラスターが終了した場合、フローの実行中にサービスが自動的に再起動します。 ただし、接続またはデータフローを作成する際は、クラスターがアクティブであることを確認する必要があります。 さらに、データのプレビューや探索などのアクションを実行する場合は、クラスターがアクティブである必要があります。これらのアクションでは、終了したクラスターの自動再起動を促すことができません。

  • Azure コンテナには、adobe-managed-stagingという名前のフォルダーが含まれています。 データをシームレスに取り込むには、このフォルダーを変更しないでください

次に、Databricks クラスターがExperience Platform Azure Blob Storage アカウントにアクセスできることを確認する必要があります。 この場合、Azure Blob Storageをdelta lake テーブル データを書き込むための暫定的な場所として使用できます。

アクセスを提供するには、Databricks設定の一部として、Apache Spark クラスターにSAS トークンを設定する必要があります。

Databricks インターフェイスで「Advanced options」を選択し、Spark config入力ボックスに次の情報を入力します。

fs.azure.sas.{CONTAINER_NAME}.{STORAGE-ACCOUNT}.blob.core.windows.net {SAS-TOKEN}
プロパティ
説明
コンテナ名
コンテナの名前。 この値は、Azure Blob Storage資格情報を取得することで取得できます。
ストレージアカウント
ストレージアカウントの名前。 この値は、Azure Blob Storage資格情報を取得することで取得できます。
SAS トークン
Azure Blob Storageの共有アクセス署名トークン。 この値は、Azure Blob Storage資格情報を取得することで取得できます。

AzureのDatabricks UI。

指定しない場合、フロー実行のコピーアクティビティは失敗し、次のエラーが返されます。

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.

DatabricksをExperience Platformに接続

前提条件の手順が完了したので、次に進み、Databricks アカウントをExperience Platformに接続します。

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089