このドキュメントでは、Table Store Reader でサポートされているデータ型とパラメーターについて、およびコードエディターを使用した構成方法について説明します。
- テーブル全体からデータを読み取ります。
- 指定範囲に基づいてデータを読み取ります。
- 指定されたシャードからデータを読み取ります。
Table Store は、Apsara 分散オペレーティングシステム上に構築された NoSQL データベースサービスであり、リアルタイムで大量の構造化データの保存およびアクセスができます。 Table Store は、インスタンスとテーブルにデータを編成します。 Table Store は、データシャーディングと負荷分散技術を使用して、シームレスにデータスケールを拡張します。
Table Store Reader は、公式の Table Store Java SDK を介して Table Store サーバーに接続し、サーバーからデータを読み取ります。 Table Store Reader は公式のデータ同期プロトコルに基づいて Data Integration でデータを読み取り可能な形式に変換し、変換されたデータをライターに送信します。
Table Store Reader は、テーブル範囲に基づいて同期ノードを並行タスクに分割し、Table Store のテーブルのデータを同期します。 各スレッドがタスクを実行します。
カテゴリー | Table Store データ型 |
---|---|
Integer | INTEGER |
Floating point | DOUBLE |
String | STRING |
Boolean | BOOLEAN |
Binary | BINARY |
パラメーター
パラメーター | 説明 | 必須 / 任意 | デフォルト値 |
---|---|---|---|
endpoint | Table Store サーバーのエンドポイントです。 詳細については、「」「エンドポイント」をご参照ください。 | 必須 | なし |
accessId | Table Store にアクセスするための AccessKey ID です。 | 必須 | なし |
accessKey | Table Store にアクセスするための AccessKey シークレットです。 | 必須 | なし |
instanceName | Table Store インスタンスの名前です。 このインスタンスは、Table Store を使用および管理するためのエンティティです。
Table Store サービスを有効化すると、コンソールでインスタンスを作成してテーブルを作成および管理できます。 インスタンスは、Table Store リソースを管理するための基本的な単位です。 Table Store による、アプリケーションに対するすべてのアクセス制御とリソース測定は、インスタンスレベルで完了します。 |
必須 | なし |
table | ソーステーブルの名前です。 ソーステーブルとして指定できるテーブルは 1 つのみです。 Table Store は、複数テーブルの同期は必要ありません。 | 必須 | なし |
column | ソーステーブルから同期される列です。 列は JSON 配列で記述されます。 Table Store は NoSQL データベースサービスです。 Table Store
Reader がデータを読み取るためには列名を指定する必要があります。
|
必須 | なし |
begin 、 end | データを読み取る Table Store テーブルの範囲。 2 つのパラメーターの両方を指定することも、どちらも指定しないこともできます。 begin パラメーターと
end パラメーターは、Table Store テーブルのプライマリキー列の値の範囲を定義します。 テーブル内のすべてのプライマリキー列に値の範囲を指定していることを確認してください。
範囲を制限する必要がない場合は、パラメーターを {"type":"INF_MIN"} 、 {"type":"INF_MAX"} に指定します。 たとえば、プライマリキーが[DeviceID、SellerID]
である Table Store テーブルから特定のデータを読み取るには、begin パラメーターと end パラメーターを次のように指定します。
テーブルからすべてのデータを読み取るには、begin パラメーターと end パラメーターを次のように指定します。
|
必須 | なし |
split | データシャーディングのカスタムルールです。 このパラメーターは詳細設定のため、 設定しないことを推奨します。
データが Table Store テーブルに不均一に分散されており、Table Store Reader の自動シャーディング機能が正常に機能しない場合、シャーディングルールをカスタマイズすることができます。 split パラメーターで指定されたシャーディングルールは、begin パラメーターと end パラメーターで指定された範囲内にあり、パーティションキー列の値である必要があります。 つまり、split パラメーターのプライマリキー列の値ではなく、パーティションキー列の値のみを指定する必要があります。 プライマリキーが [DeviceID、SellerID] である Table Store テーブルからデータを読み取るには、次のパラメーターを指定します。
|
任意 | なし |
コードレス UI を使用した Table Store Reader の構成
現在、Table Store Reader でコードレスユーザーインターフェイス (UI) はサポートされていません。
コードエディターを使用した Table Store Reader の構成
{
"type":"job",
"version": "2.0", // バージョン番号。
"steps":[
{
"stepType":"ots",// リーダーのタイプ。
"parameter":{
"datasource":"",// 接続名。
"column":[ // 同期する列。
{
"name":"column1" // 列名。
},
{
"name": "column2"
},
{
"name": "column3"
},
{
"name": "column4"
},
{
"name": "column5"
}
],
"range":{
"split":[
{
"type": "INF_MIN"
},
{
"type":"STRING",
"value":"splitPoint1"
},
{
"type":"STRING",
"value":"splitPoint2"
},
{
"type":"STRING",
"value":"splitPoint3"
},
{
"type":"INF_MAX"
}
],
"end":[
{
"type":"INF_MAX"
},
{
"type": "INF_MAX"
},
{
"type":"STRING",
"value":"end1"
},
{
"type":"INT",
"value":"100"
}
],
"begin":[
{
"type":"INF_MIN"
},
{
"type":"INF_MIN"
},
{
"type":"STRING",
"value":"begin1"
},
{
"type":"INT",
"value":"0"
}
]
},
"table":""// 同期するテーブル名。
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"// 許可されるダーティデータレコードの最大数。
},
"speed": {
"throttle":false,// 帯域幅調整を有効にするかどうかを指定します。 値が false の場合は、帯域幅が調整されていないことを示します。 値が true の場合は、帯域幅が調整されていることを示します。 最大伝送速度はこのパラメーターを true に設定した場合にのみ有効になります。
"concurrent":1,// 並行スレッドの最大数。
}
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}