Skip to content
Last updated

コマンドラインから Treasure Data へのクエリとデータインポート

Treasure Data CLI (「コマンドラインインターフェース」または「Toolbelt」) を使用すると、データベースとテーブルの作成、テーブルへのデータのインポートまたはエクスポート、テーブルスキーマの設定と変更、クエリの発行、ジョブステータスの監視、ジョブ結果の表示とダウンロード、スケジュールクエリの作成など、さまざまな操作を実行できます。

サンプルデータセットのクエリ

Treasure Data には、デフォルトで sample_datasets という名前のデータベースに www_access という名前のテーブルがあります。

以下のクエリを実行して、HTTP ステータスコードの分布を計算します:

$ td query -w -d sample_datasets  "SELECT code, COUNT(1) AS cnt FROM www_access GROUP BY code"

バッチのドメインキーによるべき等クエリの発行

td コマンド v0.14 以降、td query コマンドは domain key をサポートしています。domain key により、クライアントはクエリの送信をべき等にすることができます。

クエリを実行できます。例:

$ td query -d sample_datasets --domain-key domainkey-test -T presto "select * from www_access"
Job 92034375 is queued.
Use 'td job:show 92034375' to show the status.

API の問題によりコマンドがジョブ ID で応答しなかった場合、同じドメインキーで同じクエリを再度安全に発行できます。

$ td query -d sample_datasets --domain-key domainkey-test -T presto "select * from www_access"
Error: Query failed: ["Domain key has already been taken"]: conflicts_with
job:92034375

テーブルへのデータインポート

アプリケーションログ、ミドルウェアログ、その他のソースから実際のデータをクラウドにインポートします。

この例では、TD Toolbelt を使用して JSON 形式のサンプル Apache ログを生成し、「own_database」データベースの新しいテーブルにインポートする方法を示します。

  1. サンプルデータを追加します。
$ td sample:apache sample_apache.json`
  1. own_database を作成します。
$ td database:create own_database
  1. サンプルデータを own_database にインポートします:
$ td table:import own_database sample_tbl --auto-create-table -f json sample_apache.json