Bigtable - read_rows 和 start_key
Bigtable - read_rows and start_key
有没有办法为 Bigtable 编写 start_key
?我找不到关于 start_key
.
语法的清晰文档
假设我有用户 activity 的 {domain}_{timestamp} 的行键。
要将查询过滤到特定域,我可以使用过滤器(较慢)或 start_key(较快)。
我一直将我的 start_key
字符串写成 {domain}_
,但是如果我们现在有 domain
、user ID
和 timestamp
会怎样,现在我想按除特定时间以外的任何用户进行过滤,我可以使用类似 {domain}_*_{timestamp}
的东西吗?
您必须使用具有 RegexStringComparator
的过滤器。您也可以 setStart({domain}_)
以获得更好的性能。不幸的是,这几乎需要在 {domain}_
上进行扫描并在服务器端进行过滤。
使用随机用户 ID 进行搜索可能会更快,或者如果您需要所有用户,则使用 Table.get(List<Get>)
,其中每个 Get
对应于单个用户。
有没有办法为 Bigtable 编写 start_key
?我找不到关于 start_key
.
假设我有用户 activity 的 {domain}_{timestamp} 的行键。
要将查询过滤到特定域,我可以使用过滤器(较慢)或 start_key(较快)。
我一直将我的 start_key
字符串写成 {domain}_
,但是如果我们现在有 domain
、user ID
和 timestamp
会怎样,现在我想按除特定时间以外的任何用户进行过滤,我可以使用类似 {domain}_*_{timestamp}
的东西吗?
您必须使用具有 RegexStringComparator
的过滤器。您也可以 setStart({domain}_)
以获得更好的性能。不幸的是,这几乎需要在 {domain}_
上进行扫描并在服务器端进行过滤。
使用随机用户 ID 进行搜索可能会更快,或者如果您需要所有用户,则使用 Table.get(List<Get>)
,其中每个 Get
对应于单个用户。