Cloud Spanner Client - Class ReadPartition (1.60.0)

Reference documentation and code samples for the Cloud Spanner Client class ReadPartition.

Represents a Read Partition.

Partitions can be shared with other servers or processes by casting the object to a string, or by calling Google\Cloud\Spanner\Batch\Google\Cloud\Spanner\Batch\ReadPartition::serialize().

Note that when reading or querying against a partition, the request MUST be made using the same Batch Snapshot with which the partition was initialized. In practice, this means that a shared partition must be accompanied by its corresponding snapshot. For more information, refer to usage notes on Google\Cloud\Spanner\Batch\Google\Cloud\Spanner\Batch\BatchClient.

Example:

use Google\Cloud\Spanner\KeySet;
use Google\Cloud\Spanner\SpannerClient;

$spanner = new SpannerClient();
$batch = $spanner->batch('instance-id', 'database-id');
$snapshot = $batch->snapshot();

$keySet = new KeySet(['all' => true]);
$columns = ['id', 'firstName', 'lastName'];
$partitions = $snapshot->partitionRead('Users', $keySet, $columns);
// Serialize a partition to share it with another worker.
$partitionString = (string) $partition;
// Calling ReadPartition::serialize() has the same effect.
$partitionString = $partition->serialize();

Methods

__construct

Parameters
NameDescription
token string

The token identifying the partition.

table string

The table name.

keySet Google\Cloud\Spanner\KeySet

The KeySet to select rows.

columns string[]

A list of column names to return.

options array

Configuration Options

↳ maxPartitions int

The desired maximum number of partitions to return. For example, this may be set to the number of workers available. The maximum value is currently 200,000. This is only a hint. The actual number of partitions returned may be smaller than this maximum count request. Defaults to 10000.

↳ partitionSizeBytes int

The desired data size for each partition generated. This is only a hint. The actual size of each partition may be smaller or larger than this size request. Defaults to 1000000000 (i.e. 1 GiB).

↳ index string

The name of an index on the table.

table

Return the table name.

Example:

$table = $partition->table();
Returns
TypeDescription
string

keySet

Return the KeySet.

Example:

$keySet = $partition->keySet();
Returns
TypeDescription
Google\Cloud\Spanner\KeySet

columns

Return the list of columns.

Example:

$columns = $partition->columns();
Returns
TypeDescription
array

serialize

Return a stringified representation of the ReadPartition object.

Example:

$partitionString = $partition->serialize();
Returns
TypeDescription
string

static::hydrate

Create a ReadPartition object from a deserialized array of partition data.

Parameter
NameDescription
data array

The partition data.

Returns
TypeDescription
Google\Cloud\Spanner\Batch\ReadPartition