我想阅读与cbt一起写入bigtable的最后(最新)记录。然而,文档没有提到cbt read读取记录的顺序。我不知道行键是什么。
是否有一种通过插入时间读取cbt记录的方法?
更新:
下面是我在看桌子的时候看到的:
cbt read table_name count=10 | grep processedTime
2021/12/17 09:20:42 -creds flag unset, will use gcloud credential
general:processedTime @ 2021/06/29-14:40:04.028000
general:processedTime @ 2021/06/17-12:32:04.055000
general:processedTime @ 2021/06/17-12:32:40.032000
general:processedTime @ 2021/06/17-12:32:43.047000
general:processedTime @ 2021/06/10-18:45:53.495000
general:processedTime @ 2021/06/17-12:31:28.772000
general:processedTime @ 2021/06/17-12:30:41.205000
general:processedTime @ 2021/06/17-12:30:33.960000
general:processedTime @ 2021/06/29-14:40:17.811000
general:processedTime @ 2021/06/17-12:32:06.795000
general:processedTime @ 2021/06/17-12:31:49.202000cbt读取没有按时间顺序给出结果。
是否有办法让cbt按时间顺序读取结果?
发布于 2021-12-15 11:02:43
目前,cbt工具可能无法保证在有大量数据时按排序顺序返回数据。很可能Bigtable需要时间来组织它。但是,基于文档,Bigtable按存储请求的顺序读取请求。因此,最新的记录必须是最高的。
引用了我所做的两个测试场景。首先是插入数据而不指定时间戳,其次是插入指定时间戳的数据。无论哪种方式,我都是根据时间戳按降序得到数据的。
未指定时间戳:
@cloudshell:~ $ cbt set my-table r1 cf1:c1=val5
2021/12/15 10:51:52 -creds flag unset, will use gcloud credential
@cloudshell:~ $ cbt read my-table
2021/12/15 10:52:07 -creds flag unset, will use gcloud credential
----------------------------------------
r1
cf1:c1 @ 2021/12/15-10:51:59.760000
"val5"
cf1:c1 @ 2021/12/15-10:26:00.471000
"val4"
cf1:c1 @ 2021/12/15-10:25:26.863000
"val3"
cf1:c1 @ 2021/12/15-10:24:58.021000
"val2"
cf1:c1 @ 2021/12/15-10:24:52.259000
"val1"
@cloudshell:~ $ cbt read my-table cells-per-column=1
2021/12/15 10:52:17 -creds flag unset, will use gcloud credential
----------------------------------------
r1
cf1:c1 @ 2021/12/15-10:51:59.760000
"val5"指定的时间戳:

CBT工具可能不完全涵盖您的用例。我的建议是向他们的GitHub回购提交一个特性请求。没有任何保证将在何时实施。
https://stackoverflow.com/questions/70357169
复制相似问题