メインコンテンツまでスキップ

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 アセット バンドルを使用してインジェスト パイプラインをデプロイする方法について説明します。バンドルにはジョブとタスクの YAML 定義を含めることができ、 Databricks CLIを使用して管理でき、さまざまなターゲット ワークスペース (開発、ステージング、本番運用など) で共有して実行できます。 詳細については、 Databricksアセット バンドルとは何ですか?」を参照してください。 。

  1. Databricks CLI を使用して新しいバンドルを作成します。

    Bash
    databricks bundle init
  2. バンドルに 2 つの新しいリソース ファイルを追加します。

    • パイプライン定義ファイル ( resources/tiktok_ads_pipeline.yml )。
    • データ取り込みの頻度を制御するワークフロー ファイル ( resources/tiktok_ads_job.yml )。

    変更する値バンドル リソース ファイル テンプレートを参照してください。

  3. Databricks CLI を使用してパイプラインをデプロイします。

    Bash
    databricks bundle deploy

変更する値

Value

説明

name

パイプラインの一意の名前。

connection_name

TikTok Adsで作成した接続の名前。

source_schema

データを取り込む広告主 ID。

source_table

取り込むテーブルの名前。サポートされているテーブルのリストについては、 TikTok Ads コネクタ リファレンスを参照してください。

destination_catalog

取り込んだデータを保存するカタログの名前。

destination_schema

取り込んだデータを保存するスキーマの名前。

destination_table

(オプション) 宛先テーブルの名前。指定されない場合、コネクタはソース テーブル名を使用します。

バンドルリソースファイルテンプレート

Databricks Asset Bundles のデプロイでは、パイプライン定義ファイルとワークフロー ファイルに次のテンプレートを使用します。パイプラインの詳細設定については、 「管理された取り込みパイプラインの一般的なパターン」を参照してください。

パイプライン定義ファイル

YAML
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'

ワークフローファイル

YAML
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}