Chame a operação ComputeSplitsBySize para dividir uma tabela de dados em splits lógicos de tamanho aproximadamente igual. A resposta inclui os pontos de divisão entre os splits e os hosts em que cada split reside. Essa operação é normalmente usada para determinar planos de execução, como planos de concorrência, em motores de computação.
Para obter mais informações, consulte ComputeSplitPointsBySize.
Pré-requisitos
O cliente foi inicializado. Para obter mais informações, consulte Initialize the Tablestore client.
Uma tabela de dados foi criada e os dados foram gravados nela. Para obter mais informações, consulte Crie a data table.
Operação de API
/**
* Logically split data in a table into several splits whose sizes are close to the specified size, and return the split points between splits and prompt about hosts in which the splits reside.
* In most cases, this operation is used to determine execution plans such as concurrency plans for compute engines.
* @api
* @param [] $request The request parameters.
* @return [] The response.
* @throws OTSClientException The exception that is thrown when a parameter error occurs or the Tablestore server returns a verification error.
* @throws OTSServerException The exception that is thrown when the Tablestore server returns an error.
*/
public function computeSplitPointsBySize(array $request)
Parâmetros
Informações da requisição
Request parameters
|
Parâmetro |
Descrição |
|
table_name |
O nome da tabela de dados. |
|
split_size |
O tamanho aproximado de cada split. Unidade: 100 MB. |
Request syntax
$result = $client->ComputeSplitsBySize([
'table_name' => '<string>', // Required. The name of the data table.
'split_size' => <integer> // Required. The approximate size of each split.
]);
Informações da resposta
Response parameters
Parâmetro | Descrição |
consumed | As unidades de capacidade (CUs) consumidas por esta operação. capacity_unit contém as CUs de leitura e gravação consumidas:
|
primary_key_schema | O schema de chave primária da tabela de dados, que corresponde ao schema definido na criação da tabela. |
splits | Os pontos de divisão entre os splits. Cada split contém os seguintes campos:
|
Response syntax
[
'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>'
],
// ...
]
]
Exemplos
O exemplo a seguir divide uma tabela de dados em splits lógicos de aproximadamente 100 MB cada (split_size = 1) e exibe a localização e o intervalo de chave primária de cada 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']);
}