簡體   English   中英

如何控制每個區域服務器用於讀取 HBase 表的映射器數量

[英]how to control the number of mappers per region server for reading a HBase table

我有一個 HBase 表(通過 Apache Phoenix 編寫),需要讀取和寫入純文本文件。 當前的瓶頸是因為我們有 32 個鹽桶用於該 HBase(Phoenix) 表,它只打開 32 個映射器來讀取。 當數據增長超過 1000 億時,它變得非常耗時。 有人可以指出我如何控制每個區域服務器用於讀取 HBase 表的映射器數量嗎? 我也看過在下面的 URL 中解釋的程序,“ https://gist.github.com/bbeaudreault/9788499 ”,但我沒有完整解釋的驅動程序。 有人可以幫忙嗎?

在我看來,表的區域數 = framework 打開的映射器數。

所以減少區域的數量,這反過來又會減少映射器的數量。

如何才能做到這一點 :

1) 在為 ex 0-9 創建時預先拆分 hbase 表。

2) 通過生成 0-9.* 之間的行前綴來加載這些區域中的所有數據

以下是進行拆分的各種方法:

在此處輸入圖片說明

另外, 看看 apache-hbase-region-splitting-and-merging

此外,設置映射器的數量並不能保證它會打開那么多,它是由輸入拆分驅動的

您可以使用setNumMapTasksconf.set('mapred.map.tasks','numberofmappersyouwanttoset')更改映射器的數量(但這是對配置的建議)。

關於您提供的鏈接,我不知道它是如何工作的,您可以與作者聯系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM