Appelez l'opération ComputeSplitsBySize pour diviser une table de données en partitions logiques de taille sensiblement identique. La réponse inclut les points de division entre les partitions ainsi que les hôtes hébergeant chaque partition. Cette opération sert généralement à déterminer les plans d'exécution, tels que les plans de concurrence, pour les moteurs de calcul.
Pour plus d'informations, consultez la rubrique ComputeSplitPointsBySize.
Prérequis
Le client est initialisé. Pour plus d'informations, consultez la rubrique Initialiser le client Tablestore.
Une table de données est créée et contient des données. Pour plus d'informations, consultez la rubrique Créer une table de données.
Opération 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)
Paramètres
Informations sur la requête
Paramètres de requête
|
Paramètre |
Description |
|
table_name |
Nom de la table de données. |
|
split_size |
Taille approximative de chaque partition. Unité : 100 Mo. |
Syntaxe de la requête
$result = $client->ComputeSplitsBySize([
'table_name' => '<string>', // Required. The name of the data table.
'split_size' => <integer> // Required. The approximate size of each split.
]);
Informations sur la réponse
Paramètres de réponse
|
Paramètre |
Description |
|
consumed |
Unités de capacité (CU) consommées par cette opération. capacity_unit contient les CU de lecture et d'écriture consommés :
|
|
primary_key_schema |
Schéma de clé primaire de la table de données, correspondant au schéma défini lors de la création de la table. |
|
splits |
Points de division entre les partitions. Chaque partition contient les champs suivants :
|
Syntaxe de la réponse
[
'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>'
],
// ...
]
]
Exemples
L'exemple suivant divise une table de données en partitions logiques d'environ 100 Mo chacune (split_size = 1), puis affiche l'emplacement et la plage de clés primaires de chaque partition.
$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']);
}