Tous les produits
Search
Centre de documentation

Tablestore:ComputeSplitPointsBySize

Dernière mise à jour :Aug 18, 2026

Divise les données d'une table en plusieurs partitions logiques dont la taille est approximativement égale à la valeur spécifiée. Renvoie les points de division entre les partitions ainsi que les informations sur les hôtes qui les hébergent. Les moteurs de calcul utilisent cette opération pour déterminer les plans d'exécution, tels que les plans de concurrence.

Syntaxe de la requête

message ComputeSplitPointsBySizeRequest {
    required string table_name = 1;
    required int64 split_size = 2; // in 100MB
    optional int64 split_size_unit_in_byte = 3;
    optional int32 split_point_limit = 4;
}

Paramètre

Type

Obligatoire

Description

table_name

string

Oui

Nom de la table dont vous souhaitez diviser les données.

split_size

int64

Oui

Taille approximative de chaque partition. Unité : mégaoctets.

split_size_unit_in_byte

int64

Non

Unité de taille utilisée pour le fractionnement. Ce paramètre intervient dans le calcul des points de division afin d'en garantir la précision.

split_point_limit

int32

Non

Limite du nombre de points de division. Ce paramètre permet de contrôler le résultat renvoyé par le calcul des points de division.

Syntaxe de la réponse

message ComputeSplitPointsBySizeResponse {
    required ConsumedCapacity consumed = 1;
    repeated PrimaryKeySchema schema = 2;

    /**
     * Split points between splits, in the increasing order
     *
     * A split is a consecutive range of primary keys,
     * whose data size is about split_size specified in the request.
     * The size could be hard to be precise.
     *
     * A split point is an array of primary-key column w.r.t. table schema,
     * which is never longer than that of table schema.
     * Tailing -inf will be omitted to reduce transmission payloads.
     */
    repeated bytes split_points = 3;

    /**
     * Locations where splits lies in.
     *
     * By the managed nature of TableStore, these locations are no more than hints.
     * If a location is not suitable to be seen, an empty string will be placed.
     */
     repeated SplitLocation locations = 4;
}

Paramètre

Type

Description

consumed

ConsumedCapacity

Nombre d'unités de capacité (CU) consommées par cette requête.

schema

PrimaryKeySchema

Schéma de la table. Il correspond au schéma défini lors de la création de la table.

split_points

repeated bytes

Points de division entre les partitions. Ces points doivent augmenter de manière monotone. Chaque point de division constitue une ligne de données au format PlainBuffer et ne contient que la clé primaire. La dernière valeur -inf de chaque point de division n'est pas transmise, ce qui permet de réduire le volume de données échangées.

locations

repeated SplitLocation

Informations relatives aux hôtes hébergeant les points de division. Vous pouvez laisser ce paramètre vide.

Par exemple, si une table comporte trois colonnes de clé primaire et que le type de données de la première colonne est une chaîne de caractères, l'appel de cette opération génère les partitions suivantes : de (-inf,-inf,-inf) à ("a",-inf,-inf), de ("a",-inf,-inf) à ("b",-inf,-inf), de ("b",-inf,-inf) à ("c",-inf,-inf), de ("c",-inf,-inf) à ("d",-inf,-inf), et de ("d",-inf,-inf) à (+inf,+inf,+inf). Les trois premières partitions résident sur machine-A et les deux autres sur machine-B. Dans ce cas, la valeur de split_points est [("a"),("b"),("c"),("d")] et celle de locations est "machine-A"*3, "machine-B"*2.

Utilisation des SDK Tablestore

SDK Tablestore pour Java : Fractionner les données en shards d'une taille spécifique

Consommation de CU

Le nombre de CU de lecture consommés est identique au nombre de partitions. Aucune CU d'écriture n'est consommée.