Todos os produtos
Search
Central de documentação

Tablestore:ComputeSplitPointsBySize

Última atualização: Jul 03, 2026

Divide os dados de uma tabela em várias divisões lógicas com tamanho aproximado ao valor especificado. A operação retorna os pontos de divisão entre as partes e informações sobre os hosts onde elas residem. Mecanismos de computação usam essa operação para definir planos de execução, como planos de concorrência.

Sintaxe da solicitação

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

Obrigatório

Descrição

table_name

string

Sim

Nome da tabela cujos dados serão divididos.

split_size

int64

Sim

Tamanho aproximado de cada divisão. Unidade: megabytes.

split_size_unit_in_byte

int64

Não

Unidade de tamanho usada na divisão. Este parâmetro é usado no cálculo dos pontos de divisão para garantir a precisão do resultado.

split_point_limit

int32

Não

Limite para a quantidade de pontos de divisão. Controla o resultado retornado pelo cálculo dos pontos de divisão.

Sintaxe da resposta

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

Descrição

consumed

ConsumedCapacity

Quantidade de unidades de capacidade (CUs) consumidas por esta solicitação.

schema

PrimaryKeySchema

Schema da tabela. Corresponde ao schema definido durante a criação da tabela.

split_points

repeated bytes

Pontos de divisão entre as divisões lógicas. Esses pontos devem aumentar monotonicamente. Cada ponto representa uma linha de dados no formato PlainBuffer e contém apenas a chave primária. O último valor -inf de cada ponto não é transmitido, o que reduz o volume de dados trafegados.

locations

repeated SplitLocation

Informações sobre os hosts onde residem os pontos de divisão. Você pode deixar este parâmetro vazio.

Por exemplo, se uma tabela tem três colunas de chave primária e o tipo de dado da primeira coluna é string, a chamada desta operação retorna as seguintes divisões: (-inf,-inf,-inf) até ("a",-inf,-inf), ("a",-inf,-inf) até ("b",-inf,-inf), ("b",-inf,-inf) até ("c",-inf,-inf), ("c",-inf,-inf) até ("d",-inf,-inf) e ("d",-inf,-inf) até (+inf,+inf,+inf). As três primeiras divisões residem na machine-A e as outras duas na machine-B. Nesse caso, o valor de split_points é [("a"),("b"),("c"),("d")] e o valor de locations é "machine-A"*3, "machine-B"*2.

Uso dos SDKs do Tablestore

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

Consumo de CU

A quantidade de CUs de leitura consumidas equivale ao número de divisões. Não há consumo de CUs de escrita.