最新のTD Toolbeltをインストールしてください。
$ td --version
0.11.10in:
type: sftp_ddp
file_names:
- dmp_20180926_123456789.dat
out:
mode: append
exec: {}connector:guessを使用してください。このコマンドは、ソースファイルを自動的に読み取り、ファイル形式を評価(推測ロジックを使用)します。
$ td connector:guess seed.yml -o load.ymlload.ymlを開くと、推測されたファイル形式の定義が表示されます。この例では、CSVファイルをロードしようとしています。
in:
type: sftp_ddp
file_names:
- dmp_20180926_10130066a050f4e68b46d5b052abaedb05dd2f.dat
out:
mode: append
exec: {}次に、previewコマンドを使用して、システムがファイルをどのように解析するかをプレビューできます。
$ td connector:preview load.yml
+------------+---------------------------------+
| recordInfo | rawData |
+------------+---------------------------------+
| | 1 lines were processed correctly|
| 1111111111 | Line 1111111111 could not find |ロードジョブを送信します
$ td connector:issue load.yml --database td_sample_db --table td_sample_tableconnector:issueコマンドは、すでにdatabase(td_sample_db)とtable(td_sample_table)を作成していることを前提としています。TreasureData内にデータベースまたはテーブルが存在しない場合、connector:issueコマンドは失敗するため、データベースとテーブルを手動で作成するか、td connector:issueコマンドで--auto-create-tableオプションを使用してデータベースとテーブルを自動作成してください:
$ td connector:issue load.yml --database td_sample_db --table td_sample_table --time-column created_at --auto-create-table増分SFTPファイルインポートのために、定期的なData Connectorの実行をスケジュールできます。高可用性を確保するために、スケジューラーを管理しています。この機能を使用することで、ローカルデータセンターにcronデーモンを用意する必要がなくなります。
新しいスケジュールはtd connector:createコマンドを使用して作成できます。以下が必要です:スケジュール名、cron形式のスケジュール、データが保存されるデータベースとテーブル、およびData Connector設定ファイル。
$ td connector:create \
daily_import \
"10 0 * * *" \
td_sample_db \
td_sample_table \
load.ymlcronパラメータは、3つの特別なオプション(@hourly、@daily、@monthly)も受け付けます。
デフォルトでは、スケジュールはUTCタイムゾーンで設定されます。-tまたは--timezoneオプションを使用してタイムゾーンでスケジュールを設定できます。--timezoneオプションは、'Asia/Tokyo'、'America/Los_Angeles'などの拡張タイムゾーン形式のみをサポートしていることに注意してください。PST、CSTなどのタイムゾーン略語はサポート*されておらず*、予期しないスケジュールになる可能性があります。
td connector:listコマンドを実行すると、現在スケジュールされているエントリのリストを確認できます。
$ td connector:list
+--------------+--------------+----------+-------+--------------+-----------------+------------------------------------------------+
| Name | Cron | Timezone | Delay | Database | Table | Config |
+--------------+--------------+----------+-------+--------------+-----------------+------------------------------------------------+
| daily_import | 10 0 * * * | UTC | 0 | td_sample_db | td_sample_table | {"in"=>{"type"=>"sftp_ddp", "access_key_id"....|
+--------------+--------------+----------+-------+--------------+-----------------+------------------------------------------------+td connector:showは、スケジュールエントリの実行設定を表示します。
% td connector:show daily_import
Name : daily_import
Cron : 10 0 * * *
Timezone : UTC
Delay : 0
Database : td_sample_db
Table : td_sample_table
Config
---
in:
type: sftp_ddp
file_names:
- dmp_20180926_10130066a050f4e68b46d5b052abaedb05dd2f.dat
out:
mode: append
exec: {}td connector:deleteは、スケジュールを削除します。