Panggil operasi ComputeSplitsBySize untuk membagi data dalam tabel menjadi split logis dengan ukuran yang kira-kira sama. Respons operasi ini mencakup titik pemisahan antar-split serta host tempat masing-masing split berada. Operasi ini umumnya digunakan untuk menentukan rencana eksekusi, seperti rencana konkurensi, bagi Mesin komputasi.
Untuk informasi lebih lanjut, lihat ComputeSplitPointsBySize.
Prasyarat
Client telah diinisialisasi. Untuk informasi lebih lanjut, lihat Initialize the Tablestore client.
Tabel data telah dibuat dan data telah ditulis ke dalamnya. Untuk informasi lebih lanjut, lihat Create a data table.
Operasi API
/**
* Secara logis membagi data dalam tabel menjadi beberapa split yang ukurannya mendekati ukuran yang ditentukan, lalu mengembalikan titik pemisahan antar-split dan memberikan informasi tentang host tempat split tersebut berada.
* Dalam kebanyakan kasus, operasi ini digunakan untuk menentukan rencana eksekusi seperti rencana konkurensi bagi Mesin komputasi.
* @api
* @param [] $request Parameter permintaan.
* @return [] Respons.
* @throws OTSClientException Pengecualian yang dilemparkan ketika terjadi kesalahan parameter atau server Tablestore mengembalikan kesalahan verifikasi.
* @throws OTSServerException Pengecualian yang dilemparkan ketika server Tablestore mengembalikan kesalahan.
*/
public function computeSplitPointsBySize(array $request)
Parameter
Informasi permintaan
Parameter permintaan
|
Parameter |
Deskripsi |
|
table_name |
Nama tabel data. |
|
split_size |
Ukuran perkiraan setiap split. Satuan: 100 MB. |
Sintaksis permintaan
$result = $client->ComputeSplitsBySize([
'table_name' => '<string>', // Wajib diisi. Nama tabel data.
'split_size' => <integer> // Wajib diisi. Ukuran perkiraan setiap split.
]);
Informasi respons
Parameter respons
|
Parameter |
Deskripsi |
|
consumed |
Unit kapasitas (CUs) yang dikonsumsi oleh operasi ini. capacity_unit berisi CU baca dan tulis yang dikonsumsi:
|
|
primary_key_schema |
Skema primary key dari tabel data, yang sesuai dengan skema yang ditentukan saat pembuatan tabel. |
|
splits |
Titik pemisahan antar-split. Setiap split berisi bidang-bidang berikut:
|
Sintaksis respons
[
'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>'
],
// ...
]
]
Contoh
Contoh berikut membagi data dalam tabel menjadi split logis dengan ukuran masing-masing sekitar 100 MB (split_size = 1), lalu mencetak lokasi dan rentang primary key setiap split.
$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']);
}