Memcache (旧 OCS) データソースを使用すると、他のデータソースのデータを Memcache に書き込むことができます。DataWorks は Memcache (OCS) のデータ同期をサポートしています。同期タスクはコードエディタでのみ設定できます。このトピックでは、サポートされている機能について説明します。
制限事項
Memcache (OCS) へのデータ書き込みは、コードエディタでのみ可能です。
サポートされているフィールドタイプ
Memcache Writer は 1 つの書き込み形式をサポートしています。型の変換方法は形式によって異なります。
text:Memcache Writer はソースデータを STRING 形式にシリアル化します。同期タスクのスクリプトで設定した fieldDelimiter を区切り文字として使用します。
binary:現在サポートされていません。
データソースの追加
DataWorks で同期タスクを開発する前に、「データソース管理」の手順に従って、必要なデータソースを DataWorks に追加する必要があります。データソースを追加する際に、DataWorks コンソールでパラメーターの説明を表示して、各パラメーターの意味を確認できます。
データ同期タスクの開発
同期タスクの設定のエントリポイントと手順については、以下の設定ガイドをご参照ください。
単一テーブルのオフライン同期タスクの設定ガイド
手順については、「コードエディタでのタスク設定」をご参照ください。
コードエディタ用のスクリプトデモとすべてのパラメーターの説明については、「付録:Memcache (OCS) のスクリプトデモとパラメーターの説明」をご参照ください。
付録:Memcache (OCS) のスクリプトデモとパラメーターの説明
コードエディタを使用したバッチ同期タスクの設定
コードエディタを使用してバッチ同期タスクを設定する場合、統一されたスクリプト形式の要件に基づいて、スクリプト内の関連パラメーターを設定する必要があります。詳細については、「コードエディタでのタスク設定」をご参照ください。以下では、コードエディタを使用してバッチ同期タスクを設定する際に、データソースに対して設定する必要があるパラメーターについて説明します。
Writer スクリプトデモ
{
"type":"job",
"version":"2.0",// バージョン番号。
"steps":[
{
"stepType":"stream",
"parameter":{},
"name":"Reader",
"category":"reader"
},
{
"stepType":"ocs",// プラグイン名。
"parameter":{
"writeFormat":"text",// Memcache Writer のデータ形式。
"expireTime":1000,// Memcache の値キャッシュの生存時間 (TTL)。
"indexes":0,
"datasource":"",// データソース。
"writeMode":"set",// 書き込みモード。
"batchSize":"256"// バッチ内のレコード数。
},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"// エラーレコード数。
},
"speed":{
"throttle":true,// throttle が false に設定されている場合、mbps パラメーターは有効にならず、データレートは制限されません。throttle が true に設定されている場合、データレートは制限されます。
"concurrent":1, // ジョブの同時実行数。
"mbps":"12"// データレート制限。1 mbps = 1 MB/s。
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}Writer スクリプトのパラメーター
パラメーター | 説明 | 必須 | デフォルト値 |
datasource | データソースの名前。コードエディタでデータソースを追加できます。このパラメーターの値は、追加するデータソースの名前と同じである必要があります。 | はい | なし |
writeMode | Memcache Writer の書き込みモード。有効な値は次のとおりです。
| はい | なし |
writeFormat | Memcache Writer によって書き込まれるデータの形式。TEXT 形式のみがサポートされています。 TEXT:ソースデータをテキスト形式にシリアル化します。最初のフィールドは Memcache に書き込まれるデータのキーとして使用されます。後続のすべてのフィールドは String 型にシリアル化されます。フィールドは、指定された fieldDelimiter を使用して完全な文字列に連結されます。その文字列が Memcache に書き込まれます。 例えば、ソースデータは次のとおりです。 fieldDelimiter を \^ に設定した場合、データは次の形式で Memcache に書き込まれます。 | いいえ | なし |
expireTime | Memcache の値キャッシュの生存時間 (TTL)。Memcache は 2 種類の有効期限をサポートしています。
説明 有効期限が 60 × 60 × 24 × 30 秒 (30 日) を超える場合、サーバー側では UNIX タイムスタンプとして扱われます。 | いいえ | 0。値 0 は、データが期限切れにならないことを示します。 |
batchSize | このパラメーターは、1 回のバッチ送信におけるレコード数を指定します。値を大きくすると、データ同期システムと MySQL 間のネットワークインタラクションが大幅に減少し、全体のスループットが向上します。ただし、この値を高く設定しすぎると、データ同期プロセスで Out-of-Memory (OOM) エラーが発生する可能性があります。 | いいえ | 1,024 |