hbase中單調遞增的rowkey造成的影響
阿新 • • 發佈:2019-01-30
自己的資料匯入由於是md5排序後的資料,所以匯入的時候遇到的一個問題就是:在一個叢集中,一個匯入資料的程序一動不動,所以的client都在等待一個region(就是一個節點),過了一會後,變成了下一個region
查到了一些資料,不過這種做飯還不是很適合我,所以我只能考慮用另外的方法來處理
用多執行緒同時讀取統一個檔案的不同位置,這樣讀入的rowkye就分散了。多執行緒的資料與自己regions的數目相同即可。
另外要避免這種問題就是在建立表的時候預先分佈regions,不過似乎如果建好了表就不能split regions了。誰有這方面的方法不吝賜教。
單調遞增Row Keys/時序資料
如果你需要匯入時間順序的檔案(如log)到Hbase中,可以學習OpenTSDB的做法。
他有一個頁面來描述他的schema.OpenTSDB的Key的格式是[metric_type][event_timestamp],乍一看,似乎違背了不將timestamp做key的建議,但是他並沒有將timestamp作為key的一個關鍵位置,有成百上千的metric_type就足夠將壓力分散到各個region了。