CLIを使用してconnectorを設定するには、以下の手順に従ってください。
最新のTreasure Data Toolbeltをインストールできます。
td --version
0.17.1次の例に示すように、クラウドストレージサービス(S3)のアクセス情報を含む設定ファイル(例: load.yml)を準備します。 この例では、S3からAdobe Analyticsのdata feedをダンプします:
s3_auth_type: s3とのauthenticationの方法access_key_id: S3のaccess keysecret_access_key: S3のsecret keybucket: S3のbuckettarget: 取り込むターゲットデータ(data_feed_dataまたはdata_feed_lookup)rs_id: report suite識別子
in:
type: adobe_analytics_v2
storage_type: s3
s3_auth_type: basic
access_key_id: <your s3 access_key_id>
secret_access_key: <your secret_access_key>
region: global
bucket: <your bucket>
target: data_feed_lookup
path_prefix: <your path prefix>
rs_id: <your report suite id>
modified_after: 2024-01-19T04:35:11Z
incremental: true
filters:
- type: add_time
to_column:
name: time
type: timestamp
from_value:
mode: upload_time
- type: rename
rules:
- rule: upper_to_lower
- rule: character_types
pass_types: [ "a-z", "0-9" ]
pass_characters: "_"
replace: "_"
out:
type: td
apikey: <td_api_key>
endpoint: <td_endpoint>
database: <database>
table: <table>
time_column: time
mode: replace
default_timestamp_format: '%d/%m/%Y'load jobを送信します。データサイズによっては数時間かかる場合があります。ユーザーはデータが保存されているdatabaseとtableを指定する必要があります。
Treasure Dataのストレージは時間でパーティション分割されているため、--time-columnオプションを指定することをお勧めします。
オプションが指定されていない場合、data connectorは最初のlongまたはtimestampカラムをパーティショニング時間として選択します。--time-columnで指定されたカラムのタイプは、longまたはtimestampタイプのいずれかである必要があります。データに時間カラムがない場合は、add_timeフィルターオプションを使用して追加できます。詳細については、add_time filter pluginを参照してください。
td connector:issue load.yml --database td_sample_db --table td_sample_table --time-column modifieddate上記のコマンドは、すでに*database(td_sample_db)とtable(td_sample_table)*を作成していることを前提としています。databaseまたはtableがTDに存在しない場合、このコマンドは成功しません。したがって、databaseとtableを手動で作成するか、td connector:issueコマンドで--auto-create-tableオプションを使用してdatabaseとtableを自動作成します。"--time-column"オプションで"Partitioning Key"にTime Formatカラムを割り当てることができます。
$ td connector:issue load.yml --database td_sample_db --table td_sample_table --time-column modifieddate --auto-create-table定期的なAdobe Analyticsインポートのために、定期的なdata connector実行をスケジュールできます。高可用性を確保するためにスケジューラーを慎重に設定しています。この機能を使用することで、ローカルデータセンターにcronデーモンを配置する必要がなくなります。
td connector:createコマンドを使用して新しいスケジュールを作成できます。スケジュールの名前、cron形式のスケジュール、データが保存されるdatabaseとtable、およびData Connector設定ファイルが必要です。cronパラメータは、@hourly、@daily、@monthlyの3つのオプションも受け入れます。デフォルトでは、スケジュールはUTCタイムゾーンで設定されます。-tまたは--timezoneオプションを使用して、タイムゾーン内でスケジュールを設定できます。--timezoneオプションは、'Asia/Tokyo'、'America/Los_Angeles'などの拡張タイムゾーン形式のみをサポートしています。PST、CSTなどのタイムゾーン略語は*サポートされておらず*、予期しないスケジュールになる可能性があります。
td connector:create daily_adobe_analytics_v2_import "10 0 * * *" \
td_sample_db td_sample_table load.ymltd connector:listで現在スケジュールされているエントリのリストを確認できます
$ td connector:listtd connector:showでスケジュールエントリの実行設定を表示します
td connector:show daily_adobe_analytics_v2_importNamedaily_adobe_analytics_v2_importCron : 10 0 * * *Timezone : UTCDelay : 0Database : td_sample_dbTable : td_sample_tabletd connector:historyでスケジュールエントリの実行履歴を表示します。 個々の実行の結果を調査するには、td job jobidを使用します。
td connector:history daily_adobe_analytics_v2_importtd connector:deleteはスケジュールを削除します。
td connector:delete daily_adobe_analytics_v2_import| Parameters | Description | Type | Default value | Notes |
|---|---|---|---|---|
| type | adobe_analytics_v2である必要があります | String | 必須 | |
| storage_type | クラウドストレージサービスプロバイダー 現在はs3のみをサポート | Enum (s3) | s3 | |
| s3_auth_type | S3のauthentication方法 | Enum(basic, session, assume_role ) | basic | |
| endpoint | S3のendpoint | String | 設定されている場合、regionに関係なく選択されます | |
| region | S3のregion | Enum 完全なリストはAmazon Simple Storage Service endpoints and quotas - AWS General Referenceを参照してください | global | endpointが空の場合に使用されます |
| access_key_id | S3のAccess Key Id | String | basicおよびsession authenticationを使用する場合に必須 | |
| secret_access_key | S3のSecret Key | String | basicおよびsession authenticationを使用する場合に必須 | |
| session_token | S3のSession Token | String | session authenticationを使用する場合に必須 | |
| bucket | S3のBucket | String | 必須 | |
| target | Data Target | Enum(data_feed_dataおよびdata_feed_lookup) | data_feed_data | 必須 |
| path_prefix | data feedの場所のパスプレフィックス | String | 必須 | |
| rs_id | Report Suite Id | String | 必須 | |
| incremental | Incremental loading | Boolean | true | |
| modified_after | データのインポートを開始する時間(排他的) | Timestamp | ISO-8601形式 | |
| max_retry | 再試行の最大回数 | Integer | 7 | |
| initial_retry_wait | 最初の再試行の待機時間(秒単位) | Integer | 2 | |
| max_retry_wait | 再試行の最大待機時間(秒単位) | Integer | 120 |
Assume Role authenticationはCLIを通じて設定できません。既存のauthenticationを再利用することで設定できます。Reuse the existing Authenticationを参照してください。
in:
type: adobe_analytics_v2
storage_type: s3
s3_auth_type: basic
access_key_id: <your s3 access_key_id>
secret_access_key: <your secret_access_key>
region: global
bucket: <your bucket>
target: data_feed_data
path_prefix: <your path prefix>
rs_id: <your report suite id>
modified_after: 2024-01-19T04:35:11Z
incremental: false
filters:
- type: add_time
to_column:
name: time
type: timestamp
from_value:
mode: upload_time
- type: rename
rules:
- rule: upper_to_lower
- rule: character_types
pass_types: [ "a-z", "0-9" ]
pass_characters: "_"
replace: "_"
out:
type: td
apikey: <td_api_key>
endpoint: <td_endpoint>
database: <database>
table: <table>
time_column: time
mode: replace
default_timestamp_format: '%d/%m/%Y'in:
type: adobe_analytics_v2
storage_type: s3
s3_auth_type: basic
access_key_id: <your s3 access_key_id>
secret_access_key: <your secret_access_key>
region: global
bucket: <your bucket>
target: data_feed_lookup
path_prefix: <your path prefix>
rs_id: <your report suite id>
modified_after: 2024-01-19T04:35:11Z
incremental: false
filters:
- type: add_time
to_column:
name: time
type: timestamp
from_value:
mode: upload_time
- type: rename
rules:
- rule: upper_to_lower
- rule: character_types
pass_types: [ "a-z", "0-9" ]
pass_characters: "_"
replace: "_"
out:
type: td
apikey: <td_api_key>
endpoint: <td_endpoint>
database: <database>
table: <table>
time_column: time
mode: replace
default_timestamp_format: '%d/%m/%Y'- Data feedの概要: Analytics Data Feed overview | Adobe Analytics
- ユーザーがdata feedを作成する方法: Create a data feed | Adobe Analytics
- regionとendpoint情報はAWS service endpointsドキュメントから確認できます。