gpt4 book ai didi

java - 如何控制每个区域服务器读取 HBase 表的映射器数量

转载 作者:可可西里 更新时间:2023-11-01 14:52:23 25 4
gpt4 key购买 nike

我有一个 HBase 表(通过 Apache Phoenix 编写),需要读取和写入一个平面文本文件。目前的瓶颈是因为我们有 32 个盐桶用于 HBase(Phoenix)表,它只打开 32 个映射器来读取。当数据增长超过 1000 亿时,它变得非常耗时。有人能告诉我如何控制每个区域服务器读取 HBase 表的映射器数量吗?我也看到了在下面的 URL 中解释的程序,“https://gist.github.com/bbeaudreault/9788499”,但我没有完整解释的驱动程序。有人可以帮忙吗?

最佳答案

In my observation, number of regions of table = number of mappers opened by framework .

因此减少区域数量,从而减少映射器数量。

如何做到这一点:

1) 在为 ex 0-9 创建时预拆分 hbase 表。

2) 通过生成 0-9 之间的行前缀来加载这些区域中的所有数据。*

以下是进行拆分的各种方法:

enter image description here

还有一个look at apache-hbase-region-splitting-and-merging

此外,设置映射器的数量并不能保证它会打开那么多,它是由输入拆分驱动的

您可以使用 setNumMapTasksconf.set('mapred.map.tasks','numberofmappersyouwanttoset') 更改映射器的数量(但这是对配置的建议) .

关于您提供的链接,我不知道它是如何工作的,您可以与作者核实。

关于java - 如何控制每个区域服务器读取 HBase 表的映射器数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39645833/

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