我正在测试ruby sdk中针对bigtable的read_rows操作。
我注意到,如果我传入一个时间戳过滤器,它只会给我在该时间范围内更新/创建的单元格(列)。相反,如果给定的行在指定的时间范围内更新,我希望过滤器为我提供整行的内容。这是一个功能,如果可以的话,可以实现。
例如:我一行中的“令牌”在时间3000更新, “ id”在时间3000更新, “名称”在时间3000更新, “令牌”已在时间7000更新。
我想用时间戳过滤器6000到8000查询,并返回所有单元格,但只有最新的单元格。 在时间7000处为“令牌”,在时间3000处为“ id”,在时间3000处为“名称”。
答案 0 :(得分:1)
要执行类似的操作,您需要使用Condition过滤器,它带有一些陷阱。这些过滤器往往很慢(因为它们涉及后端行内的回溯)。而且该条件不会与输出原子地评估。
根据您的要求,最好分两个阶段执行此操作。首先,使用时间戳过滤器进行扫描以查看匹配的行。然后,在流回行键时,请完整读取匹配的行,并在客户端确认最近的更新仍满足该时间范围。