2012-07-24 38 views
0

我想在特定datanode \ regionserver中插入數據,數據插入特別是hbase regionserver

需要進行哪些配置更改?

假設有4個數據節點A,B,C,D主機名。和4個線程正在運行。一個線程只在datanode A和B上插入記錄。另一個線程正在插入\訪問datanode中的記錄C。第四個線程插入C和D中的記錄。

是否有任何配置可以爲這種類型的插入?哪個hbase \ hadoop API將用於編程插入\訪問?

還有一件事,我們可以指定在客戶端java應用程序和hbase db和hadoop集羣中使用的相同字符格式(UTF8)嗎?

問候, rashmi

回答

1

隨着HBase的,你真的不能針對特定的DataNode或RegionServer的。我想你可以針對特定區域,如果你確定每個區域服務器只有一個區域,那麼它與你正在尋找的東西非常接近。我可以說這不是hbase的典型使用模式,所以我會確保這真的是你想要的。

要管理區域,您需要通過將hbase.hregion.max.filesize設置爲100GB等類型並手動預分割您的表來禁用分割。您可以使用HBaseAdmin類預分割您的表。

就字符格式而言,hbase沒有數據類型或字符集 - 一切都以字節存儲 - 所以使用utf8應該沒有問題。

如果你使用java,你可以使用standard java API。對於其他語言,您可以選擇Thrift,Avro和REST接口,但它們都不會像使用Java API那麼快。