Todos los productos
Search
Centro de documentos

Tablestore:ComputeSplitPointsBySize

Última actualización: Sep 03, 2026

Divide los datos de una tabla en varias particiones lógicas cuyo tamaño es aproximadamente igual al valor especificado. Esta operación devuelve los puntos de división entre las particiones y la información sobre los hosts donde residen. Los motores de cómputo utilizan esta operación para determinar planes de ejecución, como los de concurrencia.

Sintaxis de la solicitud

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;
}

Parámetro

Tipo

Obligatorio

Descripción

table_name

string

Sí

Nombre de la tabla cuyos datos desea dividir.

split_size

int64

Sí

Tamaño aproximado de cada partición. Unidad: megabytes.

split_size_unit_in_byte

int64

No

Unidad de tamaño para la división. Este parámetro se usa en el cálculo de puntos de división para garantizar la precisión del resultado.

split_point_limit

int32

No

Límite en la cantidad de puntos de división. Este parámetro controla el resultado devuelto por el cálculo de puntos de división.

Sintaxis de la respuesta

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;
}

Parámetro

Tipo

Descripción

consumed

ConsumedCapacity

Número de unidades de capacidad (CU) que consume esta solicitud.

schema

PrimaryKeySchema

Esquema de la tabla. Corresponde al esquema definido durante la creación de la tabla.

split_points

repeated bytes

Puntos de división entre las particiones. Estos puntos deben aumentar de forma monótona entre las particiones. Cada punto de división es una fila de datos en formato PlainBuffer y contiene únicamente la clave primaria. El último valor -inf de cada punto de división no se transmite, lo cual ayuda a reducir la cantidad de datos enviados.

locations

repeated SplitLocation

Información sobre los hosts donde residen los puntos de división. Puede dejar este parámetro vacío.

Por ejemplo, si una tabla contiene tres columnas de clave primaria y el tipo de datos de la primera columna es string, se obtienen a continuación particiones tras llamar a esta operación: (-inf,-inf,-inf) a ("a",-inf,-inf), ("a",-inf,-inf) a ("b",-inf,-inf), ("b",-inf,-inf) a ("c",-inf,-inf), ("c",-inf,-inf) a ("d",-inf,-inf), y ("d",-inf,-inf) a (+inf,+inf,+inf). Las primeras tres particiones residen en machine-A y las otras dos en machine-B. En este caso, el valor de split_points es [("a"),("b"),("c"),("d")], y el valor de locations es "machine-A"*3, "machine-B"*2.

Uso de los SDK de Tablestore

Tablestore SDK for Java: Split data into shards of a specific size

Consumo de CU

El número de CU de lectura consumidas es igual al número de particiones. No se consumen CU de escritura.