HOW TO TD(User Engagement)Treasure Data User Engagement

Treasure Data CDPのCLI(コマンドラインインターフェース)

ホーム » Treasure Data CDPのCLI(コマンドラインインターフェース)

データマネジメントチームの竹ヶ原 旭です。
この記事では、TD Toolbeltについて説明いたします。

TD Toolbelt

Treasure Data CDPの操作はブラウザで操作できるWebコンソールを提供しております。

WebコンソールはGUIとなりますので俯瞰的に内容がビジュアライズされていることがメリットです。またTreasure Data CDP操作として「TD Toolbelt」と呼ばれる、コマンドラインベース(Command Line Interface)での機能も提供しています。
TD Toolbelt機能については、以下のドキュメントを参照してください。
https://docs.treasuredata.com/display/public/PD/Basic+Commands
TD ToolbeltはWindows(64bit)、macOS、またLinuxの各種ディストリビューションに対応していますので、クライアントマシンやサーバマシンなど幅広い環境での利用が可能です。

TD Toolbeltの使い方

TD Toolbeltのインストールに関しては以下のドキュメントを参照してください。
https://docs.treasuredata.com/display/public/PD/Installing+TD+Toolbelt+and+Treasure+Agent

TD Toolbeltのコマンドオプションは下記で調べることができます。

> td -h

出力結果は下記のようになります。

usage: td [options] COMMAND [args]

options:
  -c, --config PATH                path to the configuration file (default: ~/.td/td.conf)
  -k, --apikey KEY                 use this API key instead of reading the config file
  -e, --endpoint API_SERVER        specify the URL for API server to use (default: https://api.treasuredata.com).
                                     The URL must contain a scheme (http:// or https:// prefix) to be valid.
                                     Valid IPv4 addresses are accepted as well in place of the host name.
      --insecure                   Insecure access: disable SSL (enabled by default)
  -v, --verbose                    verbose mode
  -h, --help                       show help
  -r, --retry-post-requests        retry on failed post requests.
                                   Warning: can cause resource duplication, such as duplicated job submissions.
      --version                    show version

Basic commands:

  db             # create/delete/list databases
  table          # create/delete/list/import/export/tail tables
  query          # issue a query
  job            # show/kill/list jobs
  import         # manage bulk import sessions (Java based fast processing)
  bulk_import    # manage bulk import sessions (Old Ruby-based implementation)
  result         # create/delete/list result URLs
  sched          # create/delete/list schedules that run a query periodically
  schema         # create/delete/modify schemas of tables
  connector      # manage connectors
  workflow       # manage workflows

Additional commands:

  status         # show scheds, jobs, tables and results
  apikey         # show/set API key
  server         # show status of the Treasure Data server
  sample         # create a sample log file
  help           # show help messages

Type 'td help COMMAND' for more information on a specific command.

TD Toolbeltのコマンド

TD Toolbeltでは以下のようなコマンドが用意されております。

コマンド 内容
td db:create <db> データベースを作成
td db:delete <db> データベースを削除
td db:list 作成されているデータベースの一覧を表示
td table:list [db] 指定したデータベース内のテーブル一覧を表示
td table:show <db> <table> 指定したデータベースでのテーブルのスキーマ情報を表示
td table:create <db> <table> 指定したデータベースでのテーブルを作成
td table:delete <db> <table> 指定したデータベースでのテーブルを削除
td table:import <db> <table> <files…> 指定したデータベースでのテーブルにファイルのデータをインポート
td table:export <db> <table> 指定したデータベースでのテーブルのデータをエクスポート
td table:swap <db> <table1> <table2> 指定したデータベースでのテーブル同士のカラムやデータを全て入れ替え
td table:rename <db> <from_table> <dest_table> 指定したデータベースでのテーブルの名称を変更
td table:tail <db> <table> 指定したデータベースでのテーブルのデータを最後の行から表示
td table:partial_delete <db> <table> 指定したデータベースでのテーブルでの「time」カラム値に合致したデータのみを削除
td table:expire <db> <table> <expire_days> 指定したデータベースでのテーブルでの有効期限(日)を指定
td query [sql] 指定のsqlを実行
td import:list bulk インポートが現時点で動いているジョブ数、とその情報が表示
td import:create <name> <db> <table> bulk インポートさせるためにセッション名を作成
td import:prepare <files…> bulk インポート元のデータファイルを変換
td import:upload <session name> <files…> 指定したセッション名とデータファイルをアップロード
td result:list 登録されたSourceの一覧を表示
td sched:list 登録されたQueryの一覧を表示
td sched:create <name> <cron> [sql] 指定したQuery(sql)を登録。たscheduleを作成。
td sched:delete <name> 指定したscheduleを削除
td sched:update <name> 指定したscheduleを更新
td sched <name> [max] 指定したscheduleの実行結果履歴を確認
td sched:run <name> <time> 指定したscheduleを実行
td sched:result <name> 指定したscheduleの結果を表示
td schema:show <db> <table> 指定したデータベースでのテーブル情報(カラム名など)を表示
td schema:set <db> <table> [columns…] 指定したデータベースでのテーブルにカラムを追加
td schema:add <db> <table> <columns…> 指定したデータベースでのテーブルにカラムを追加
td schema:remove <db> <table> <columns…> 指定したデータベースでのテーブルにカラムを削除

TD Toolbeltにはテーブル作成やSQLの実行など様々な機能をコマンドとして利用できます。そのため例えばサーバのShellなどに組み込むことで従来のプログラミングのように柔軟な処理を実現させることが可能となります。Webコンソール以外にもTreasure Data CDPの操作方法がありますので機会がありましたら是非ご活用ください。

竹ヶ原 旭

Data Managementチーム

エンタープライズ向けのシステムエンジニアとしてキャリアをスタート。航空会社や電力などのユーティリティー企業のシステム構築に携わる。その後、デジタル系広告会社にてテクニカルディレクター、外資ITベンダーでプリセールスを経験。映画配給会社、テレビ局、ラジオ局、出版社などのメディア、飲料やConsumer Packaged Goods(CPG)メーカーなどのクライアントに対して、テクニカル観点でのクリエイティブ制作・デジタルマーケティングおよび既存のアナログ的な業務へのデジタル化支援に従事。また、UXやDesign Thinkingを活用した新規事業開発支援なども担当。2019年よりトレジャーデータに参画。データマネジメントチームの一員として技術的側面からTreasure Data CDPの導入・運用支援を行う。

得意領域 : データアーキテクト、Workflow、データベース、Javascript、Swift、ETL、Custom Script、MA

Back to top button