Bigtable-read_rows和start_key

时间:2019-02-04 17:46:27

标签: bigtable google-cloud-bigtable

是否可以为Bigtable编写start_key?我找不到关于start_key的语法的清晰文档。

假设我有一个{domain} _ {timestamp}用户活动的行键。

要将查询过滤到特定域,我可以使用过滤器(较慢)或start_key(更快)。

我一直将start_key的字符串写为{domain}_,但是如果我们现在有了domainuser IDtimestamp,现在我想要可以按特定时间过滤任何用户,我可以使用类似{domain}_*_{timestamp}的东西吗?

1 个答案:

答案 0 :(得分:1)

您必须对RegexStringComparator使用过滤器。您也可以setStart({domain}_)以获得更好的性能。不幸的是,这几乎将在{domain}_上进行扫描并在服务器端进行过滤。

使用随机的用户ID进行搜索,或者如果需要所有用户,则使用Table.get(List<Get>)(其中每个Get对应于单个用户)进行搜索可能会更快。