【发布时间】:2019-09-11 13:25:20
【问题描述】:
我正在使用 Bigtable 模拟器并已成功在其中添加了一个表,现在我需要获取过滤后的数据。
表格如下:
arc_record_id | record_id | batch_id
1 |624 |86
2 |625 |86
3 |626 |86
以此类推...直到 arc_record_id 10。
我已经尝试过下面给出的 Python 代码:
visit_dt_filter = ValueRangeFilter(start_value = "1".encode('utf-8'),
end_value = "2".encode('utf-8'))
col1_filter = ColumnQualifierRegexFilter(b'arc_record_id')
chain1 = RowFilterChain(filters=[col1_filter, visit_dt_filter])
partial_rows = testTable.read_rows(filter_=chain1)
for row in partial_rows:
cell = row.cells[columnFamilyid1]["arc_record_id".encode('utf-8')][0]
print(cell.value.decode('utf-8'))
行键是
prim_key=row_value[0] //which is arc_record_id
row_key="RecordArchive{}".format(prim_key).encode('utf-8')
我得到的输出为
1
10
2
3
我希望输出是
arc_record_id | record_id | batch_id
1 |624 |86
2 |625 |86
【问题讨论】:
-
您从查询中得到什么输出?它有效吗?什么是行键?
-
@David 请检查更新后的问题。
标签: python bigtable google-cloud-bigtable