在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必須至少存在一個 | 讀取資料的版本時間戳記範圍。
如果指定的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"列。 |