Use a operação ComputeSplitsBySize para dividir uma tabela de dados em divisões lógicas de tamanho aproximadamente igual. A resposta inclui os pontos de divisão entre as partes e os hosts onde cada divisão está localizada. Essa operação geralmente define planos de execução, como planos de concorrência, para mecanismos de computação.
Para mais informações, consulte ComputeSplitPointsBySize.
Pré-requisitos
Cliente inicializado. Para mais informações, consulte Inicializar o cliente do Tablestore.
Tabela de dados criada e preenchida. Para mais detalhes, consulte Crie uma tabela de dados.
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 solicitação
Parâmetros da solicitação
|
Parâmetro |
Descrição |
|
table_name |
Nome da tabela de dados. |
|
split_size |
Tamanho aproximado de cada divisão. Unidade: 100 MB. |
Sintaxe da solicitação
$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
Parâmetros da resposta
|
Parâmetro |
Descrição |
|
consumed |
Unidades de capacidade (CUs) consumidas por esta operação. capacity_unit contém as CUs de leitura e escrita consumidas:
|
|
primary_key_schema |
Esquema de chave primária da tabela de dados, correspondente ao esquema definido na criação da tabela. |
|
splits |
Pontos de divisão entre as partes. Cada divisão contém os seguintes campos:
|
Sintaxe da resposta
[
'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 divisões lógicas de aproximadamente 100 MB cada (split_size = 1) e imprime a localização e o intervalo de chave primária de cada divisão.
$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']);
}