天天看點

hbase 學習(十二)非mapreduce生成Hfile,然後導入hbase當中

最近一個群友的boss讓研究hbase,讓hbase的入庫速度達到5w+/s,這可愁死了,4台個人電腦組成的叢集,多線程入庫調了好久,速度也才1w左右,都沒有達到理想的那種速度,然後就想到了這種方式,但是網上多是用mapreduce來實作入庫,而現在的需求是實時入庫,不生成檔案了,是以就隻能自己用代碼實作了,但是網上查了很多資料都沒有查到,最後在一個網友的指引下,看了源碼,最後找到了生成hfile的方式,實作了之後,發現單線程入庫速度才達到1w4左右,和之前的多線程的全速差不多了,百思不得其解之時,調整了一下代碼把列的byte.tobytes(cols)這個方法調整出來隻做一次,速度立馬就到3w了,提升非常明顯,這是我的電腦上的速度,估計在它的叢集上能更快一點吧,下面把代碼和大家分享一下。

最後再附上檢視hfile的方式,查詢正确的hfile和自己生成的hfile,友善查找問題。

<a>hdfs://hadoop.master:8020/user/sea/hfiles/logs/51aa97b2a25446f89d5c870af92c9fc1</a>

繼續閱讀