# Scheduling Using Td Toolbelt 増分ファイルインポートのために定期的なデータコネクタの実行をスケジュールできます。高可用性を確保するために、スケジューラーを慎重に設定しています。 スケジュールされたインポートでは、指定されたプレフィックスと条件による次のフィールドのいずれかに一致するすべてのファイルをインポートできます: - use_modified_timeが無効になっている場合、次の実行のために最後のパスが保存されます。2回目以降の実行では、コネクタはアルファベット順で最後のパスの後に来るファイルのみをインポートします。 - それ以外の場合、ジョブが実行された時刻が次の実行のために保存されます。2回目以降の実行では、コネクタはその実行時刻以降にアルファベット順で変更されたファイルのみをインポートします。 ## TD Toolbeltを使用してスケジュールを作成 *td connector:create*コマンドを使用して新しいスケジュールを作成できます。 ``` $ td connector:create daily_import "10 0 * * *" \ td_sample_db td_sample_table load.yml ``` Treasure Dataのストレージは時間でパーティション化されているため、*--time-column*オプションを指定することもお勧めします([data partitioning](https://docs.treasuredata.com/smart/project-product-documentation/data-partitioning-in-treasure-data)も参照)。 ``` $ td connector:create daily_import "10 0 * * *" \ td_sample_db td_sample_table load.yml \ --time-column created_at ``` `cron`パラメータは、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"=>"s3", "access_key_id"... | +--------------+--------------+----------+-------+--------------+-----------------+------------------------------------------+ ``` ## スケジュール設定と履歴の表示 *td connector:show*は、スケジュールエントリの実行設定を表示します。 説明: | | TD AWSサービスへのアクセスを許可します | | --- | --- | | | TD AWSサービスへのアクセスを許可します | | endpoint | ネットワークと相互に通信するコンピュータ 例の値: `s3.amazonaws.com` | | bucket | データベース内のコンテナオブジェクト 例の値: `https://my-bucket.s3.us-west-2.amazonaws.com` | | | ターゲットキーのプレフィックスを指定 例の値: `logging/` `path/to/sample_201501.csv.gz`, `path/to/sample_201502.csv.gz`, …, `path/to/sample_201505.csv.gz` | ``` % 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: s3 access_key_id: access_key_id secret_access_key: secret_access_key endpoint: endpoint bucket: bucket path_prefix: path_prefix parser: charset: UTF-8 ... ``` *td connector:history*は、スケジュールエントリの実行履歴を表示します。個々の実行の結果を調査するには、*td job jobid*を使用します。 ``` % td connector:history daily_import +--------+---------+---------+--------------+-----------------+----------+---------------------------+----------+ | JobID | Status | Records | Database | Table | Priority | Started | Duration | +--------+---------+---------+--------------+-----------------+----------+---------------------------+----------+ | 578066 | success | 10000 | td_sample_db | td_sample_table | 0 | 2015-04-18 00:10:05 +0000 | 160 | | 577968 | success | 10000 | td_sample_db | td_sample_table | 0 | 2015-04-17 00:10:07 +0000 | 161 | | 577914 | success | 10000 | td_sample_db | td_sample_table | 0 | 2015-04-16 00:10:03 +0000 | 152 | | 577872 | success | 10000 | td_sample_db | td_sample_table | 0 | 2015-04-15 00:10:04 +0000 | 163 | | 577810 | success | 10000 | td_sample_db | td_sample_table | 0 | 2015-04-14 00:10:04 +0000 | 164 | | 577766 | success | 10000 | td_sample_db | td_sample_table | 0 | 2015-04-13 00:10:04 +0000 | 155 | | 577710 | success | 10000 | td_sample_db | td_sample_table | 0 | 2015-04-12 00:10:05 +0000 | 156 | | 577610 | success | 10000 | td_sample_db | td_sample_table | 0 | 2015-04-11 00:10:04 +0000 | 157 | +--------+---------+---------+--------------+-----------------+----------+---------------------------+----------+ 8 rows in set ``` ## スケジュールの削除 *td connector:delete*は、スケジュールを削除します。 ``` $ td connector:delete daily_import ```