ComputeSplitsBySize オペレーションを呼び出して、データテーブルをほぼ同じサイズの論理スプリットに分割します。応答には、スプリット間の分割ポイントと、各スプリットが配置されているホスト情報が含まれます。このオペレーションは、コンピュートエンジンの同時実行数などの実行計画を決定する際に通常使用されます。
詳細については、「ComputeSplitPointsBySize」をご参照ください。
前提条件
クライアントが初期化済みである必要があります。詳細については、「Tablestore クライアントの初期化」をご参照ください。
データテーブルが作成され、データが書き込まれています。詳細については、「データテーブルを作成する」をご参照ください。
API オペレーション
/**
* テーブル内のデータを指定サイズに近い複数のスプリットに論理的に分割し、スプリット間の分割ポイントおよび各スプリットが配置されているホスト情報を返します。
* このオペレーションは、コンピュートエンジンの同時実行数などの実行計画を決定する際に通常使用されます。
* @api
* @param [] $request リクエストパラメーター。
* @return [] 応答。
* @throws OTSClientException パラメーターのエラーが発生した場合、または Tablestore サーバーが検証エラーを返した場合にスローされる例外。
* @throws OTSServerException Tablestore サーバーがエラーを返した場合にスローされる例外。
*/
public function computeSplitPointsBySize(array $request)
パラメーター
リクエスト情報
リクエストパラメーター
|
パラメーター |
説明 |
|
table_name |
データテーブルの名前。 |
|
split_size |
各スプリットの概算サイズ。単位:100 MB。 |
リクエスト構文
$result = $client->ComputeSplitsBySize([
'table_name' => '<string>', // 必須。データテーブルの名前。
'split_size' => <integer> // 必須。各スプリットの概算サイズ。
]);
応答情報
応答パラメーター
|
パラメーター |
説明 |
|
consumed |
このオペレーションで消費された容量単位 (CUs)。 capacity_unit には、読み取りおよび書き込みの CU 消費量が含まれます:
|
|
primary_key_schema |
データテーブルのプライマリキースキーマ。テーブル作成時に定義されたスキーマと一致します。 |
|
splits |
スプリット間の分割ポイント。各スプリットには以下のフィールドが含まれます:
|
応答構文
[
'consumed' => [
'capacity_unit' => [
'read' => <integer>,
'write' => <integer>
]
],
'primary_key_schema' => [
['<string>', <PrimaryKeyType>],
['<string>', <PrimaryKeyType>, <PrimaryKeyOption>]
]
'splits' => [
[
'lower_bound' => [
['<string>', <PrimaryKeyValue>, <PrimaryKeyType>],
['<string>', <PrimaryKeyValue>, <PrimaryKeyType>]
],
'upper_bound' => [
['<string>', <PrimaryKeyValue>, <PrimaryKeyType>],
['<string>', <PrimaryKeyValue>, <PrimaryKeyType>]
],
'location' => '<string>'
],
// ...
]
]
使用例
次の例では、データテーブルを約 100 MB の論理スプリットに分割 (split_size = 1) し、各スプリットの配置ホストおよびプライマリキー範囲を出力します。
$result = $client->ComputeSplitsBySize([
'table_name' => 'MyTable',
'split_size' => 1
]);
foreach($result['splits'] as $split) {
print_r($split['location']);
print_r($split['lower_bound']);
print_r($split['upper_bound']);
}