在BatchGetRow操作中,TableInBatchGetRowRequest表示要读取的一个表的请求信息。

数据结构

message TableInBatchGetRowRequest {
    required string table_name = 1;
    repeated bytes primary_key = 2; //Plainbuffer编码
    repeated bytes token = 3;
    repeated string columns_to_get = 4;  // 不指定则读出所有的列
    optional TimeRange time_range = 5;
    optional int32 max_versions = 6;
    optional bool cache_blocks = 7 [default = true]; // 本次读出的数据是否进入BlockCache
    optional bytes filter = 8;
    optional string start_column = 9;
    optional string end_column = 10;
}
名称 类型 是否必须 描述
table_name string 该表的表名。
primary_key repeated bytes 指定行全部的主键列,包含主键名和主键值,Plainbuffer格式编码。更多信息,请参见Plainbuffer
token repeated bytes 宽行读取时指定下一次读取的起始位置,暂不可用。
columns_to_get repeated string 该表中需要返回的全部列的列名。
time_range TimeRange 和max_versions必须至少存在一个 读取数据的版本时间戳范围。
  • 时间戳的单位是毫秒,取值最小值为0,最大值为INT64.MAX。
  • 若要查询一个范围,则指定start_time和end_time。
  • 若要查询一个特定时间戳,则指定specific_time。

如果指定的time_range为(100, 200),则返回的列数据的时间戳必须位于[100, 200)范围内,前闭后开区间。

max_versions int32 和time_range必须至少存在一个 读取数据时,返回的最多版本个数。

如果指定max_versions为2,则每一列最多返回2个版本的数据。

cache_blocks bool 本次读出的数据是否进入BlockCache。默认值为true,当前版本不支持设置false。
filter bytes 过滤条件表达式。Filter经过protobuf序列化后的二进制数据。
start_column string 指定读取时的起始列,主要用于宽行读。
  • 返回的结果中包含当前起始列。
  • 列的顺序按照列名的字典序排序。

如果一张表有"a"、"b"、"c"三列,读取时指定start_column为“b”,则会从"b"列开始读,返回"b","c"两列。

end_column string 指定读取时的结束列,主要用于宽行读。
  • 返回的结果中不包含当前结束列。
  • 列的顺序按照列名的字典序排序。

如果一张表有"a"、"b"、"c"三列,读取时指定end_column为“b”,则读到"b"列时会结束,返回"a"列。

相关操作

BatchGetRow