gpt4 book ai didi

nosql - 从 HBASE 数据返回聚合

转载 作者:可可西里 更新时间:2023-11-01 14:50:49 27 4
gpt4 key购买 nike

我有一个约 15 万行的 HBASE 表,每行包含 3700 列。

我需要一次选择多行,然后汇总结果,例如:

行[1][列1] + 行[2][列1] ... + 行[n][列1]
行[1][列2] + 行[2][列2] ... + 行[n][列2]
...
行[1][列] + 行[2][列] ... + 行[n][列]

我可以使用扫描仪来完成,我认为问题是,扫描仪就像一个游标,它不会同时在多台机器上执行分布的工作,而是从一个区域获取数据,然后跳到另一个区域获取下一组数据,等等,我的结果跨越多个区域。

有没有办法以分布式方式进行扫描(一个选项,或者为每个区域的数据值(value)创建多个扫描器[这本身可能就是一堆蠕虫])或者这是必须在 map 中完成的事情/减少工作。如果它是 M/R 作业,它对于实时查询是否足够“快”?如果没有,是否有一些好的替代方法可以使用 NOSQL 类型的数据库实时进行这些类型的聚合?

最佳答案

在这种情况下,我会做的是,在另一个表中放置聚合摘要。那就是当 row[m] 插入到表 2 中的表 1 中(第 1 列)(这是表 2 的行键)时,我会保存它的求和或其他聚合结果,无论是平均值、标准差、最大值、最小值等

另一种方法是将它们编入搜索工具(例如 Lucene、Solr、Elastic Search 等)中并在其中运行聚合搜索。以下是 Solr 中的一些示例.

最后,跨多个区域的扫描或 M/R 作业不是为实时查询而设计的(除非以这种方式设计的集群,即超过数据要求)。

希望对您有所帮助。

关于nosql - 从 HBASE 数据返回聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4555893/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com