【发布时间】:2017-08-23 18:17:40
【问题描述】:
更新:这仅适用于 Google Cloud Bigtable Emulator,不会发生在实际开发或生产 BigTable 实例中(Google Cloud SDK 149.0.0)
我正在尝试通过键正则表达式过滤器进行行过滤,一切都像魅力一样工作(按前缀过滤,按键开始和停止范围过滤,按键,按键)但我无法让它工作通过在RowKeyRegexFilteras 过滤器中,它只是将所有键作为空键返回scan:
# all the boilerplate to create a happybase connection skipped
t = connection.table("sometable")
t.put(
b'row1',
{
b"family1:col2": b".1",
b"family2:col2": b".12",
}
)
t.put(
b'row2',
{
b"family1:col2": b".2",
b"family2:col2": b".22",
}
)
t.put(
b'row3',
{
b"family1:col2": b".3",
b"family2:col2": b".32",
}
)
rows = t.scan(
filter=RowKeyRegexFilter(b'.+3')
)
print(len([i for i in rows])
这总是3,无论您是否将(nomatchforsure)+ 用作正则表达式,我都找不到任何带有工作示例的文档,最令人惊奇的是google.cloud.happybase.table.Table.rows 总是按行键执行过滤器RowKeyRegexFilter,但是将正则表达式传递给 rows 方法而不是真正的行键也不提供正则表达式过滤,你可以看到它
对此的任何帮助将不胜感激
【问题讨论】:
-
我建议为此创建一个 github 问题。
-
我已经将它添加到 Google Groups 但没关系@SolomonDuskis 我也将它添加到 github,我觉得世界上唯一一个尝试这样做的人:(
-
github.com/GoogleCloudPlatform/google-cloud-python-happybase/… 让我们看看是否有人看到这个,看起来像一个错误,但也许我使用它很糟糕,问题是经过数小时的谷歌搜索后,网络上没有文档或示例
标签: python google-cloud-platform google-cloud-bigtable happybase