TikTok広告からDatabricksにデータを取り込む
ベータ版
この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。「Databricks プレビューの管理」を参照してください。
TikTok 広告から Databricks にデータを取り込むためのマネージド パイプラインを作成する方法を学びます。
要件
取り込み パイプラインを作成するには、次の要件を満たす必要があります。
-
ワークスペースでUnity Catalogが有効になっている必要があります。
-
ワークスペースでサーバレスコンピュートを有効にする必要があります。 「サーバレス コンピュート要件」を参照してください。
-
新しい接続を作成する場合: メタストアに対する
CREATE CONNECTION権限が必要です。コネクタが UI ベースのパイプライン オーサリングをサポートしている場合、管理者はこのページのステップを完了することで、接続とパイプラインを同時に作成できます。 ただし、パイプラインを作成するユーザーが API ベースのパイプライン オーサリングを使用している場合、または管理者以外のユーザーである場合、管理者はまずカタログ エクスプローラーで接続を作成する必要があります。 「管理対象取り込みソースへの接続」を参照してください。
-
既存の接続を使用する場合: 接続オブジェクトに対する
USE CONNECTION権限またはALL PRIVILEGESが必要です。 -
ターゲット カタログに対する
USE CATALOG権限が必要です。 -
既存のスキーマに対する
USE SCHEMAおよびCREATE TABLE権限、またはターゲット カタログに対するCREATE SCHEMA権限が必要です。
TikTok Ads から取り込むには、Databricks からの認証を構成する必要があります。管理された取り込みのために TikTok 広告を構成するを参照してください。
取り込みパイプラインを作成する
- Databricks Asset Bundles
- Databricks notebook
このタブでは、Databricks アセット バンドルを使用してインジェスト パイプラインをデプロイする方法について説明します。バンドルにはジョブとタスクの YAML 定義を含めることができ、 Databricks CLIを使用して管理でき、さまざまなターゲット ワークスペース (開発、ステージング、本番運用など) で共有して実行できます。 詳細については、 Databricksアセット バンドルとは何ですか?」を参照してください。 。
-
Databricks CLI を使用して新しいバンドルを作成します。
Bashdatabricks bundle init -
バンドルに 2 つの新しいリソース ファイルを追加します。
- パイプライン定義ファイル (
resources/tiktok_ads_pipeline.yml)。 - データ取り込みの頻度を制御するワークフロー ファイル (
resources/tiktok_ads_job.yml)。
変更する値とバンドル リソース ファイル テンプレートを参照してください。
- パイプライン定義ファイル (
-
Databricks CLI を使用してパイプラインをデプロイします。
Bashdatabricks bundle deploy
- 次のノートブックを Databricks ワークスペースにインポートします。
-
セル 1 と 2 はそのままにしておきます。変更しないでください。
-
パイプライン構成の詳細に合わせてセル 3 を変更します。変更する値を参照してください。
-
必要に応じて、パイプラインの詳細設定を構成します。マネージド インジェスト パイプラインの一般的なパターンを参照してください。
-
「 すべて実行 」をクリックします。
変更する値
Value | 説明 |
|---|---|
| パイプラインの一意の名前。 |
| TikTok Adsで作成した接続の名前。 |
| データを取り込む広告主 ID。 |
| 取り込むテーブルの名前。サポートされているテーブルのリストについては、 TikTok Ads コネクタ リファレンスを参照してください。 |
| 取り込んだデータを保存するカタログの名前。 |
| 取り込んだデータを保存するスキーマの名前。 |
| (オプション) 宛先テーブルの名前。指定されない場合、コネクタはソース テーブル名を使用します。 |
バンドルリソースファイルテンプレート
Databricks Asset Bundles のデプロイでは、パイプライン定義ファイルとワークフロー ファイルに次のテンプレートを使用します。パイプラインの詳細設定については、 「管理された取り込みパイプラインの一般的なパターン」を参照してください。
パイプライン定義ファイル
resources:
pipelines:
tiktok_ads_pipeline:
name: tiktok_ads_pipeline
ingestion_definition:
connection_name: tiktok_ads_connection
objects:
- table:
source_schema: '<your_advertiser_id>'
source_table: 'campaign_report_daily'
destination_catalog: 'main'
destination_schema: 'tiktok_ads_data'
destination_table: 'campaign_report_daily'
ワークフローファイル
resources:
jobs:
tiktok_ads_job:
name: tiktok_ads_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: tiktok_ads_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.tiktok_ads_pipeline.id}