この記事では、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の操作方法がありますので機会がありましたら是非ご活用ください。