我正在测试用于bigtable的ruby sdk中的read_rows操作。
我注意到,如果我传入一个时间戳过滤器,它将只给出在该时间范围内更新/创建的单元格(列)。相反,如果给定行在指定的时间范围内更新,我希望筛选器给出整个行的内容。这是一个功能,如果是这样的话就可以实现这一点。
例如:我有一个行,'token‘在时间3000更新,'id’在时间3000更新,'name‘在时间3000更新,'token’在时间7000更新。
我想用时间戳过滤器6000到8000进行查询,并返回所有单元格,但只返回最新的单元格。‘'token’位于时间7000,'id‘位于时间3000,'name’位于时间3000。
发布于 2019-09-21 02:05:47
要做这样的事情,你需要使用一个Condition过滤器,它附带了一些陷阱。这些过滤器往往很慢(因为它们涉及后端行内的回溯)。并且该条件不会随输出自动求值。
根据您的需求,分两个阶段执行此操作可能会更好。首先,使用时间戳筛选器进行扫描,以查看哪些行匹配。然后,当行键回流时,完整地读取匹配的行,并确认客户端最近的更新仍然满足时间范围。
https://stackoverflow.com/questions/55854259
复制相似问题