Databricks (AWS S3) コネクタ構成ガイド
この記事では、Databricks (AWS S3) コネクタの構成方法について説明します。
アクション
アクション名 | AudienceStream | EventStream |
---|---|---|
全イベントデータを送信 | ✗ | ✓ |
カスタムイベントデータを送信 | ✗ | ✓ |
全訪問データを送信 | ✓ | ✗ |
カスタム訪問データを送信 | ✓ | ✗ |
動作方法
Databricks (AWS S3) コネクタは、Tealium から AWS S3 への接続と、Databricks から AWS S3 への接続の2つの接続セットが必要です。
Tealium から AWS S3 への接続
Tealium は、バケットをリストアップし、イベントデータとオーディエンスデータを S3 オブジェクトにアップロードするために、AWS S3 インスタンスへの接続が必要です。Databricks (AWS S3) コネクタの認証には2つのオプションがあります:
- アクセスキーとアクセスシークレットを提供します。
- STS(Security Token Service)の資格情報を提供します。
アクセスキーとシークレット資格情報
AWS アクセスキーとシークレットを見つけるには:
- AWS 管理コンソールにログインし、IAM(Identity and Access Management)サービスに移動します。
- ユーザーをクリックし、次にユーザーを追加をクリックします。
- ユーザー名を入力します。例えば、
TealiumS3User
。 - 作成したユーザーにポリシーを添付します。
- 権限タブで、既存のポリシーを直接添付をクリックします。
AmazonS3FullAccess
ポリシーを検索し、フルアクセスのために添付します。特定のバケットへのアクセスを制限したい場合は、以下の例に似たポリシーを作成できます。この例では、YOUR_BUCKET_NAME
は Tealium がイベントデータとオーディエンスデータを S3 オブジェクトにアップロードするために使用するバケットです。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:PutObject", "s3:GetObject", "s3:ListBucketMultipartUploads", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::YOUR_BUCKET_NAME", "arn:aws:s3:::YOUR_BUCKET_NAME/*" ] } ] }
- キーを作成します。
- セキュリティ認証情報タブに移動し、アクセスキーを作成をクリックします。
- アクセスキーIDとシークレットアクセスキーをコピーし、安全に保存します。
STS 資格情報
- AWS 管理コンソールにログインし、IAM(Identity and Access Management)サービスに移動します。
- ロールをクリックし、次にロールを作成をクリックします。
- 信頼されたエンティティタイプで、AWS アカウントを選択します。
- 別の AWS アカウントを選択し、Tealium アカウント ID を指定します:
719386139886
。 - オプション。外部 ID を必要とするチェックボックスをチェックし、使用したい外部 ID を指定します。外部 ID は最大 256 文字までで、英数字(
A-Z
、a-z
、0-9
)とハイフン(-
)、アンダースコア(_
)、ピリオド(.
)などの記号を含めることができます。 - ロールに名前を入力します。ロール名は
tealium-databricks
で始まる必要があります。例えば、tealium-databricks-s3-test
。 - ロールにポリシーを添付します。
- 権限タブで、既存のポリシーを直接添付をクリックします。
AmazonS3FullAccess
ポリシーを検索し、フルアクセスのために添付します。特定のバケットへのアクセスを制限したい場合は、以下の例に似たポリシーを作成できます。この例では、YOUR_BUCKET_NAME
は Tealium がイベントデータとオーディエンスデータを S3 オブジェクトにアップロードするために使用するバケットです。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:PutObject", "s3:GetObject", "s3:ListBucketMultipartUploads", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::YOUR_BUCKET_NAME", "arn:aws:s3:::YOUR_BUCKET_NAME/*" ] } ] }
- 信頼ポリシーを作成します。
- 信頼関係タブに移動し、信頼関係を編集をクリックします。
- 作成したロールに特定の外部 ID を許可する信頼ポリシーがあり、Tealium のプロダクションアカウント ID が
757913464184
であることを確認します。以下の例を参照してください。 - Tealium への接続のための
EXTERNAL_ID
値を構成します。ID は最大 256 文字までで、英数字(A-Z
、a-z
、0-9
)とハイフン(-
)、アンダースコア(_
)、ピリオド(.
)などの記号を含めることができます。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::757913464184:root"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": "EXTERNAL_ID"
}
}
}
]
}
Databricks から AWS S3 への接続
Databricks を AWS S3 インスタンスに接続するには、まず AWS インスタンスに IAM ロールを作成し、そのロールを使用して Databricks インスタンスで保存資格情報を作成する必要があります。AWS IAM ロールの作成についての詳細は、Databricks: AWS S3 に接続するための保存資格情報を作成するを参照してください。
保存資格情報が作成されたら、AWS S3 インスタンスの外部ロケーションを定義します。このロケーションからデータを取得します。詳細については、Databricks: クラウド保存を Databricks に接続するための外部ロケーションを作成するを参照してください。
バッチ制限
このコネクタは、ベンダーへの大量のデータ転送をサポートするために、バッチリクエストを使用します。詳細については、バッチアクションを参照してください。リクエストは、以下のいずれかの閾値が達成されるか、プロファイルが公開されるまでキューに入れられます:
- リクエストの最大数:100,000
- 最古のリクエストからの最大時間:10分
- リクエストの最大サイズ:10MB
構成
コネクタマーケットプレイスに移動し、新しいコネクタを追加します。コネクタの追加方法の一般的な指示については、コネクタについてを参照してください。
コネクタを追加したら、次の構成を行います:
- 認証タイプ
- (必須)認証タイプを選択します。利用可能なオプションは:STSとアクセスキーです。
- STS:次のフィールドが必要です Assume Role: ARNとAssume Role: Session Name。
- アクセスキー:次のフィールドが必要です AWS Access KeyとAWS Secret Access Key。
- リージョン
- (必須)リージョンを選択します。
- STS - Assume Role: ARN
- STS 認証に必要です。引き受けるロールの Amazon Resource Name (ARN) を提供します。例:
arn:aws:iam:222222222222:role/myrole
。詳細については、AWS Identity and Access Management: IAM ロールの切り替え (AWS API)を参照してください。
- STS 認証に必要です。引き受けるロールの Amazon Resource Name (ARN) を提供します。例:
- STS - Assume Role: Session Name
- STS 認証に必要です。引き受けるロールのセッション名を提供します。最小長さは2、最大長さは64です。
- STS - Assume Role: External ID
- STS 認証に必要です。第三者の外部識別子を提供します。詳細については、AWS Identity and Access Management: 第三者所有の AWS アカウントへのアクセスを参照してください。
- Access Key - AWS Access Key
- アクセスキー認証に必要です。AWS アクセスキーを提供します。
- Access Key - AWS Secret Access Key
- アクセスキー認証に必要です。AWSのシークレットアクセスキーを提供してください。
- DatabricksホストURL
- DatabricksアカウントのURLを提供してください。
- 例:
https://{ACCOUNT_NAME}.cloud.databricks.com
。
- Databricksトークン
- Databricksのアクセストークンを提供してください。Databricksでアクセストークンを作成するには、Databricksのユーザーアバターをクリックし、構成 > 開発者 > アクセストークン > 管理 > 新しいトークンを生成に移動します。
ノートブックを作成する
Databricksのノートブックは、実行可能なコード、視覚化、およびナラティブテキストを含むドキュメントです。これらはデータの探索、視覚化、および共同作業に使用されます。コネクタの構成では、新しいコネクタを作成する際に新しいノートブックを作成するオプションがあります。構成手順でノートブックを作成をクリックします。
- コネクタの構成画面で、ノートブックを作成をクリックします。
- テーブル名を入力します。スキーマはジョブ作成時に指定されるため、このフィールドには追加しないでください。
- 名前には英数字(
A-Z
、a-z
、0-9
)とアンダースコア(_
)を含めることができます。 - スペースや特殊文字は許可されていません。例えば、
!
、@
、#
、-
、.
は許可されていません。 - 名前は大文字と小文字を区別します。例えば、
tableName
とtablename
は異なる名前とみなされます。 - 名前は数字で始めることはできません。例えば、
1table
は無効です。
- 名前には英数字(
- ノートブックパスには、ノートブックの絶対パスを入力します。例:
/Users/user@example.com/project/NOTEBOOK_NAME
。- Databricksでノートブックの絶対パスを見つけるには、Databricksのワークスペースに移動し、ユーザーセクションを展開します。
- ユーザーをクリックし、オプションメニューを展開します。
- URL/パスをコピー > フルパスをクリックします。パス名は次の形式になります:
/Workspace/Users/myemail@company.com
。スラッシュ/
で区切って、仮想フォルダとノートブック名を追加します。例:/Workspace/Users/myemail@company.com/virtualfolder/virtualsubfolder/MyNotebook
。
- S3バケットで、Databricksに接続するS3バケットを選択します。
- 上書きオプションは、指定したワークスペースに既に存在するノートブックを上書きするかどうかを示します。
ジョブを作成する
Databricksのジョブは、スケジュールまたは特定のトリガーに基づいてノートブックを自動的に実行します。ジョブを使用すると、定期的な間隔や特定のイベントがトリガーされたときに、データ処理、分析、レポート作成などのタスクを実行できます。
- コネクタの構成画面で、ジョブを作成をクリックします。
- 処理ジョブの名前を入力します。
- カタログで、Unityカタログからパイプラインデータを公開するためのカタログを指定します。
- ターゲットで、上記のカタログでテーブルを公開/更新するスキーマを指定します。ここではターゲットテーブルを指定しないでください。使用されるテーブルはノートブックで指定したものです。
- ノートブックパスには、ノートブックの絶対パスを入力します。例:
/Users/user@example.com/project/NOTEBOOK_NAME
。- Databricksでノートブックの絶対パスを見つけるには、Databricksのワークスペースに移動し、ユーザーセクションを展開します。
- ユーザーをクリックし、オプションメニューを展開します。
- URL/パスをコピー > フルパスをクリックします。パス名は次の形式になります:
/Workspace/Users/myemail@company.com
。スラッシュ/
で区切って、仮想フォルダとノートブック名を追加します。例:/Workspace/Users/myemail@company.com/virtualfolder/virtualsubfolder/MyNotebook
。
- S3バケットで、Databricksに接続するS3バケットを選択します。
- トリガータイプで、データを処理するタイミングを選択します。利用可能なオプションは以下の通りです:
- ファイル到着:新しいファイルが到着するたびにデータを処理します。
- スケジュール:指定したリピートスケジュールに基づいてデータを処理します。
- Cron:Cronフィールドで定義したリピートスケジュールに基づいてデータを処理します。
- 開始時間で、
hh:mm
形式でジョブ処理の開始時間を指定します。開始時間のデフォルト値は00:00
です。 - タイムゾーンで、
country/city
形式でタイムゾーンを指定します。例:Europe/London
。開始時間を提供する場合、このフィールドは必須です。 - Cronには、スケジュールされた処理に使用するクォーツcron式を入力します。例えば、
20 30 * * * ?
は、毎時、毎日、週の日、年の30分20秒にファイルを処理します。詳細については、Quartz: Cron Trigger Tutorialを参照してください。
アクション
以下のセクションでは、各アクションでサポートされているパラメータをリストアップします。
全イベントデータを送信
パラメータ
パラメータ | 説明 |
---|---|
Amazon S3バケット | Amazon S3バケットを選択するか、カスタム値を提供します。 |
Databricksカタログ | Databricksカタログを選択するか、カスタム値を提供します。 |
Databricksスキーマ | Databricksスキーマを選択するか、カスタム値を提供します。 |
Databricksテーブル | Databricksテーブルを選択するか、カスタム値を提供します。 |
ペイロードを記録する列 | ペイロードを記録するVARIANT 列を選択します。 |
タイムスタンプを記録する列 | タイムスタンプを記録する列を選択します。 |
タイムスタンプ属性 | デフォルトでは、アクションの現在のタイムスタンプを送信します。異なる形式を送信したい場合は、タイムスタンプとして割り当てる属性を選択します。属性が割り当てられ、空の値を生成する場合、現在のタイムスタンプを送信します。 |
カスタムイベントデータを送信
パラメータ
パラメータ | 説明 |
---|---|
Amazon S3バケット | Amazon S3バケットを選択するか、カスタム値を提供します。 |
Databricksカタログ | Databricksカタログを選択するか、カスタム値を提供します。 |
Databricksスキーマ | Databricksスキーマを選択するか、カスタム値を提供します。 |
Databricksテーブル | Databricksテーブルを選択するか、カスタム値を提供します。 |
イベントパラメータ
Databricksテーブルの列にパラメータをマッピングします。少なくとも1つのパラメータをマッピングする必要があります。
全訪問データを送信
パラメータ
パラメータ | 説明 |
---|---|
Amazon S3バケット | Amazon S3バケットを選択するか、カスタム値を提供します。 |
Databricksカタログ | Databricksカタログを選択するか、カスタム値を提供します。 |
Databricksスキーマ | Databricksスキーマを選択するか、カスタム値を提供します。 |
Databricksテーブル | Databricksテーブルを選択するか、カスタム値を提供します。 |
訪問データを記録する列 | 訪問データを記録するVARIANT 列を選択します。 |
タイムスタンプを記録する列 | タイムスタンプを記録する列を選択します。 |
タイムスタンプ属性 | デフォルトでは、アクションの現在のタイムスタンプを送信します。異なる形式を送信したい場合は、タイムスタンプとして割り当てる属性を選択します。属性が割り当てられ、空の値を生成する場合、現在のタイムスタンプを送信します。 |
訪問データに現在の訪問データを含める | 現在の訪問データを訪問データに含めるかどうかを選択します。 |
カスタム訪問データを送信
パラメータ
パラメータ | 説明 |
---|---|
Amazon S3バケット | Amazon S3バケットを選択するか、カスタム値を提供します。 |
Databricksカタログ | Databricksカタログを選択するか、カスタム値を提供します。 |
Databricksスキーマ | Databricksスキーマを選択するか、カスタム値を提供します。 |
Databricksテーブル | Databricksテーブルを選択するか、カスタム値を提供します。 |
訪問パラメータ
Databricksテーブルの列にパラメータをマッピングします。少なくとも1つのパラメータをマッピングする必要があります。
最終更新日 :: 2024年December月18日