Skip to content
Last updated

CLIを使用したThe Trade Deskインポート連携

Treasure Data Toolbeltのインストール

最新のTreasure Data Toolbeltをインストールしてください。

設定ファイル(load.yml)の作成

設定ファイルには、The Trade Deskからコネクタに取り込まれるものを指定するin:セクションと、コネクタがTreasure Dataのデータベースに出力するものを指定するout:セクションが含まれます。利用可能なoutモードの詳細については、付録を参照してください。

以下の例は、Advertiserのインポート指定方法を示しています。

in:
  type: the_trade_desk
  login_credential: login_credential
  password: password
  target: advertiser
out:
  mode: append

以下の例は、Campaignのインポート指定方法を示しています。

in:
  type: the_trade_desk
  login_credential: login_credential
  password: password
  target: campaign
  advertiser_id: advertiser_id1, advertiser_id2, advertiser_id3
out:
 mode: append

以下の例は、Data Groupのインポート指定方法を示しています。

in:
  type: the_trade_desk
  login_credential: login_credential
  password: password
  target: data_group
  advertiser_id: advertiser_id1, advertiser_id2, advertiser_id3
out:
 mode: append

以下の例は、Tracking Tagsのインポート指定方法を示しています。

in:
  type: the_trade_desk
  login_credential: login_credential
  password: password
  target: tracking_tags
  advertiser_id: advertiser_id1, advertiser_id2, advertiser_id3
out:
 mode: append

インポートするデータのプレビュー(オプション)

td connector:previewコマンドを使用してインポートするデータをプレビューできます。

$ td connector:preview load.yml

ロードジョブの実行

ジョブを実行するには、td connector:issue を使用します。

ロードジョブを実行する前に、データを保存するデータベースとテーブルを指定する必要があります。例:td_sample_db、td_sample_table

$ td connector:issue load.yml \
     --database td_sample_db \
     --table td_sample_table \
     --time-column date_time_column

Treasure Data のストレージは時間によってパーティション分割されるため、--time-column オプションを指定することを推奨します。このオプションが指定されていない場合、データコネクタは最初の long 型または timestamp 型のカラムをパーティション時刻として選択します。--time-column で指定するカラムの型は、long 型または timestamp 型である必要があります(使用可能なカラム名と型を確認するには、プレビュー結果を使用してください。一般的に、ほとんどのデータ型には last_modified_date カラムがあります)。

データに時刻カラムがない場合は、add_time フィルターオプションを使用してカラムを追加できます。詳細は add_time filter プラグインを参照してください。

td connector:issue は、データベース(sample_db)とテーブル(sample_table)が既に作成されていることを前提としています。データベースまたはテーブルが TD に存在しない場合、td connector:issue は失敗します。したがって、データベースとテーブルを手動で作成するか、td connector:issue--auto-create-table を使用してデータベースとテーブルを自動的に作成する必要があります。

$ td connector:issue load.yml \
      --database td_sample_db \
      --table td_sample_table \
      --time-column date_time_column \
      --auto-create-table

コマンドラインからロードジョブを送信します。データサイズによっては、処理に数時間かかる場合があります。

付録

out プラグインのモード

load.yml ファイルの out セクションでファイルインポートモードを指定できます。

out: セクションは、データを Treasure Data テーブルにインポートする方法を制御します。 たとえば、Treasure Data の既存のテーブルにデータを追加するか、データを置換するかを選択できます。

出力モードは、データが Treasure Data に配置されるときにデータを変更する方法です。

  • Append(デフォルト):レコードがターゲットテーブルに追加されます。
  • Replace(td 0.11.10 以降で利用可能):ターゲットテーブルのデータを置き換えます。ターゲットテーブルに対して行われた手動のスキーマ変更はそのまま残ります。

例:

in:
  ...
out:
  mode: append
in:
  ...
out:
  mode: replace

無効な ID のエラーハンドリング

ユーザーが無効な ID(広告主 ID)の文字列を入力すると、最初の無効な ID が検出され、エラーメッセージが表示されます。無効な ID が最初の ID でない場合、無効な ID は検出されず、ジョブは実行されますが、無効な ID は出力ログに表示されます。