Todos os produtos
Search
Central de documentação

Tablestore:Split data in a table into several logical splits whose sizes are approximately the same as the specified value

Última atualização: Sep 29, 2026

Chame a operação ComputeSplitsBySize para dividir uma tabela de dados em splits lógicos de tamanho aproximadamente igual. A resposta inclui os pontos de divisão entre os splits e os hosts em que cada split reside. Essa operação é normalmente usada para determinar planos de execução, como planos de concorrência, em motores de computação.

Nota

Para obter mais informações, consulte ComputeSplitPointsBySize.

Pré-requisitos

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 requisição

Request parameters

Parâmetro

Descrição

table_name

O nome da tabela de dados.

split_size

O tamanho aproximado de cada split. Unidade: 100 MB.

Request syntax

$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

Response parameters

Parâmetro

Descrição

consumed

As unidades de capacidade (CUs) consumidas por esta operação.

capacity_unit contém as CUs de leitura e gravação consumidas:

  • read: o throughput de leitura.

  • write: o throughput de gravação.

primary_key_schema

O schema de chave primária da tabela de dados, que corresponde ao schema definido na criação da tabela.

splits

Os pontos de divisão entre os splits. Cada split contém os seguintes campos:

  • lower_bound: o valor mínimo de chave primária no intervalo do split.

    Passe lower_bound ao GetRange para ler os dados dentro do intervalo.

    • Cada entrada contém, em sequência, o nome da chave primária, o valor da chave primária (PrimaryKeyValue) e o tipo da chave primária (PrimaryKeyType).

    • PrimaryKeyType aceita os seguintes valores: PrimaryKeyTypeConst::CONST_INTEGER (INTEGER), PrimaryKeyTypeConst::CONST_STRING (string codificada em UTF-8), PrimaryKeyTypeConst::CONST_BINARY (BINARY), PrimaryKeyTypeConst::CONST_INF_MIN (INF_MIN, ou seja, -inf) e PrimaryKeyTypeConst::CONST_INF_MAX (INF_MAX, ou seja, +inf).

  • upper_bound: o valor máximo de chave primária no intervalo do split. O formato é o mesmo de lower_bound.

    Passe upper_bound ao GetRange para ler os dados dentro do intervalo.

  • location: o host em que o split reside. Este campo pode estar vazio.

Response syntax

[
    '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 splits lógicos de aproximadamente 100 MB cada (split_size = 1) e exibe a localização e o intervalo de chave primária de cada split.

    $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']);    
    }