我有一个大约 150k 行的 HBASE 表,每行包含 3700 列。
我需要一次选择多行,并将结果汇总回来,例如:
行[1][列1] + 行[2][列1] ... + 行[n][
列1] 行[1][列2] + 行[2][列2] ... + 行[n][ column2]
...
row[1][columnn] + row[2][columnn] ... + row[n][columnn]
我可以使用扫描仪来做到这一点,我认为问题在于,扫描仪就像一个光标,并且不会同时在多台机器上进行分配工作,而是从一个区域获取数据,然后跳到另一个区域region 以获取下一组数据,依此类推,我的结果跨越多个区域。
有没有办法以分布式方式扫描(一个选项,或者为每个区域的数据价值创建多个扫描仪[这本身可能是一罐蠕虫])还是必须在 map/reduce 工作中完成. 如果它是一个 M/R 工作,它对于实时查询是否足够“快”?如果没有,是否有一些很好的替代方法可以使用 NOSQL 类型的数据库实时进行这些类型的聚合?