在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