DataWorks では、Sensors Data データソースにデータを書き込むための Sensors Data Writer を提供しています。このトピックでは、Sensors Data データソースへのデータ同期機能について説明します。
制限事項
Sensors Data データソースは、中国 (深セン) リージョンでのみサポートされています。今後、他のリージョンでもサポートされる予定です。
DataWorks は、Sensors Data データソースからデータを読み取るための専用の Reader を提供していません。Sensors Data データソースのストレージタイプに基づいて、Hive Reader または HDFS Reader を使用してデータを読み取ることができます。
データ同期タスクの開発
データ同期タスクのエントリポイントと設定手順については、以下のセクションを参照してください。パラメータ設定については、タスクの設定タブにある各パラメータのヒントをご覧ください。
データソースの追加
特定のデータソースとの間でデータを同期するデータ同期タスクを設定する前に、DataWorks にデータソースを追加する必要があります。詳細については、「データソースの追加と管理」をご参照ください。
単一テーブルのデータを同期するバッチ同期タスクの設定
設定手順の詳細については、「コードエディタを使用したバッチ同期タスクの設定」をご参照ください。
コードエディタを使用してバッチ同期タスクを設定する場合に設定されるすべてのパラメータと実行されるコードについては、「付録:コードとパラメータ」をご参照ください。
付録:コードとパラメータ
付録:コードエディタを使用したバッチ同期タスクの設定
コードエディタを使用してバッチ同期タスクを設定する場合は、コードエディタの形式要件に基づいて、関連するデータソースのリーダーとライターのパラメータを設定する必要があります。形式要件の詳細については、「コードエディタを使用したバッチ同期タスクの設定」をご参照ください。コードエディタでのリーダーとライターのパラメータの設定の詳細を以下に示します。
Sensors Data Writer のコード
{
"type": "job",
"steps": [
{
"stepType": "mysql",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "sahistory", // プラグイン名。
"parameter": {
"type": "item", // Sensors Data に書き込まれるデータのタイプ。有効な値:track、user、item。それぞれ Sensors Data のイベント、ユーザー、プロパティを示します。
"item": { // type パラメータを item に設定した場合、item パラメータを定義します。
"itemType": "course", // アイテムタイプ。この例では、itemType パラメータは course に設定されています。
"typeIsColumn": false, // itemType パラメータの値を column パラメータの列として指定する必要があるかどうかを指定します。
"itemIdColumn": "course_id" // プロパティの個別 ID を格納するフィールドの名前。
},
"column": [ // ソーステーブルのフィールドとデスティネーションテーブルのフィールド間のマッピングを指定します。
{
"name": "course_id", // デスティネーションテーブルのフィールド名。この例では、フィールド名は course_id です。
"index": 0 // ソーステーブルの最初のフィールドのデータをデスティネーションテーブルの course_id フィールドに書き込みます。
},
{
"name": "course_name", // デスティネーションテーブルのフィールド名。この例では、フィールド名は course_name です。
"index": 1 // ソーステーブルの 2 番目のフィールドのデータをデスティネーションテーブルの course_name フィールドに書き込みます。
},
{
"name": "course_schedule", // デスティネーションテーブルのフィールド名。この例では、フィールド名は course_schedule です。
"index": 2 // ソーステーブルの 3 番目のフィールドのデータをデスティネーションテーブルの course_schedule フィールドに書き込みます。
"dataConverters":[ // データ型コンバータ。
{
"type": "Long2Date" // データ型コンバータのタイプ。
}
]
}
],
"sdkDataAddress": "http://bigdata-project.datasink.sensorsdata.cn/sa?project=default&token=1111111111111111", // 受信データが格納される Sensors Data の URL。
},
"name": "Writer",
"category": "writer"
}
],
},
"setting": {
"errorLimit": {
"record": "0" // 許容されるダーティデータレコードの最大数。
},
"speed": {
"throttle":true,// スロットリングを有効にするかどうかを指定します。値 false はスロットリングが無効であることを示し、値 true はスロットリングが有効であることを示します。mbps パラメータは、throttle パラメータが true に設定されている場合にのみ有効になります。
"concurrent": 2, // 並列スレッドの最大数。
"mbps":"12"// 最大転送速度。単位:MB/s。
}
}
}Sensors Data Writer のコードのパラメータ
パラメータ | 説明 | 必須 | デフォルト値 |
type | Sensors Data データソースに書き込まれるデータのタイプ。有効な値:track、user、item。それぞれ Sensors Data のイベント、ユーザー、プロパティを示します。type パラメータの値によって、データタイプの定義に使用できるパラメータが決まります。 | はい | デフォルト値なし |
type パラメータを track に設定した場合、以下のパラメータを設定できます。
サンプルコード: | |||
type パラメータを user に設定した場合、以下のパラメータを設定できます。
サンプルコード: | |||
type パラメータを item に設定した場合、以下のパラメータを設定できます。
サンプルコード: | |||
column | ソーステーブルのフィールドとデスティネーションテーブルのフィールド間のマッピング。マッピングは、name パラメータと index パラメータによって決定されます。
| はい | デフォルト値なし |
sdkDataAddress | データが格納される URL。これは、Sensors Data がデータを受信する URL です。URL は | はい | デフォルト値なし |
その他のパラメータ
DataWorks では、コードエディタを使用して Sensors Data Writer を設定する際に、データ型コンバータを指定できます。Sensors Data に書き込まれるデータのデータ型を変換するために使用するデータ型コンバータのタイプを指定できます。次の表に、サポートされているコンバータのタイプとパラメータ設定の例を示します。
コンバータタイプ | 機能説明 | 設定例 | パラメータの説明 |
Date2Str | DATE タイプのデータを STRING タイプのデータに変換します。 | | pattern (オプション):変換後のデータの日付形式。 |
Date2Long | DATE タイプのデータを LONG タイプのデータに変換します。 | | 該当なし。 |
Number2Str | NUMBER タイプのデータを STRING タイプのデータに変換します。 | | 該当なし。 |
Str2Long | STRING タイプのデータを LONG タイプのデータに変換します。 | | 該当なし。 |
Str2Date | STRING タイプのデータを DATE タイプのデータに変換します。 | |
|
BigInt2Date | BIGINT タイプのデータを DATE タイプのデータに変換します。 | | 該当なし。 |
Str2Int | STRING タイプのデータを INT タイプのデータに変換します。 | | 該当なし。 |
Str2Double | STRING タイプのデータを DOUBLE タイプのデータに変換します。 | | 該当なし。 |
Str2BigDecimal | STRING タイプのデータを BIGDECIMAL タイプのデータに変換します。 | | 該当なし。 |
IfNull2Default | NULL 値を default パラメータで指定された定数値に変換し、IfNull2Default コンバータに埋め込まれたサブコンバータを使用して、定数値を指定されたデータタイプのデータに変換します。 | | dataConverters:default 定数値を指定されたデータタイプのデータに変換するために使用されるサブコンバータ。複数の埋め込みサブコンバータを指定して、複数回データ型変換を実行できます。 |
NotNull2Null | NULL 以外の値を NULL 値に変換します。 | | 該当なし。 |
IfElse | フィールド値が指定された IF 条件を満たしているかどうかを確認します。フィールド値が条件を満たしている場合、戻り値は value パラメータで示されます。そうでない場合、戻り値は else パラメータで示されます。 | |
|
IfNull2Column | NULL 値を targetColumnName パラメータの値に変換します。 | | targetColumnName:Sensors Data のフィールドの名前。 重要 IfNull2Column コンバータが適用されるフィールドを設定する前に、targetColumnName パラメータで指定されたフィールドを設定してください。 |