【发布时间】:2018-11-28 17:49:34
【问题描述】:
我将(时间序列)值存储在 Bigtable 中,我遇到了一个用例,我需要在这些值上应用 filter 并执行聚合。我正在使用以下配置来获取connection 到Bigtable(执行范围扫描等):
Connection connection = BigtableConfiguration.connect(projectId, instanceId);
Table table = connection.getTable(TableName.valueOf(tableId));
table.getScanner(<a scanner with filter>);
这对ResultScanner 有帮助,我可以迭代行。但是,我想要做的是对某些列执行聚合并获取值。我想要做的一个 SQL 等价物是这样的:
SELECT SUM(A), SUM(B)
FROM table
WHERE C = D;
为了在HBase 中做同样的事情,我遇到了AggregationClient (javadoc here),但是,它需要Configuration 并且我需要在Bigtable 之外运行的东西(这样我就不需要使用低级 Hbase API)。
我检查了文档,但找不到任何可以做到这一点的(Java 语言)。任何人都可以分享一个示例以在 BigTable 上使用(非行键或任何)过滤器执行aggregation。
【问题讨论】:
-
@Downvoter 愿意解释一下吗?
标签: java google-cloud-platform google-cloud-dataflow apache-beam google-cloud-bigtable