hbase:使用集群执行小作业

4xy9mtcn  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(183)

我有一个在单个hbase行(a)上运行的java函数 Result ),需要一段时间 Result 作为输入和输出 byte[] . 我想在10k-100k hbase行上运行此函数并收集结果。我有一个 List<byte[]> 这是我想运行此函数的行,它们均匀地分布在表的所有区域。我想在这些限制条件下这样做:
不是将所有行从服务器发送到客户端
没有长作业初始化,整个操作预计在一秒钟内运行
利用hadoop集群的处理能力,而不是客户端的处理能力
显然,这并不取决于hbase表的大小,它可以是数十亿行
实现这一目标的最佳方法是什么?我想到了这些选择:
spark—如果我的作业运行在表中极少量的行上,我不确定这是否是一个好的选择
协处理器-有没有一种方法可以在服务器上批量运行协处理器 List<byte[]> 并收集结果?集群是否会并行处理这些工作?
实现自定义hbase筛选器,然后执行批量 GetList<byte[]> 使用自定义过滤器 Get 将由所有区域服务器并行处理,并可以运行自定义逻辑,但这似乎是一个黑客,我不确定一个自定义过滤器可以返回数据,不存在于一列的行。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题