我正在爲HBase保存1450萬條記錄。每行有20列。我首先嚐試插入0.7百萬條記錄,該記錄非常流暢,並在1.7分鐘內完成。將大數據保存到HBase已經很慢
然後我試圖插入14.5百萬的實際和完整數據。如果我試圖插入所有這些,它會花費很多時間。它跑了1.5小時。
Spark是我的編程模型。我嘗試使用saveAsNewHadoopDataSet使用TableOutPutFormat和cloudera的hbase-spark bulkput。
兩者似乎都使用相同的。我在8節點集羣上運行,有8個區域服務器,只使用單列系列。我爲區域服務器和主服務器分配了4GB堆。
我不確定,如果我缺少任何東西或者HBase真的扼殺大量數據一次插入。
請提供您的tough。。我也計劃安裝pheonix圖層,以便我可以直接在HBase數據上使用數據幀抽象,並將數據框直接保存到HBase。
我仍然在努力尋找HBase如何能夠遏制1450萬條記錄。數據僅爲9 GB左右。
哈里爾嗨, 我一直在使用下面的命令拆分。 hbase org.apache.hadoop.hbase.util.RegionSplitter table_name UniformSplit -c 8 -f column_family。 但是,當我檢入HBase Master UI時,仍然大部分請求都只經過一個區域服務器。 – Srini
如果您的所有請求都轉到單個節點,也許它是熱點,那麼您的row_keys是否都開始相同或者它們稍有不同? –
你的rowkey格式是什麼,如果它以時間戳開始,那麼它引起熱點,你應該改變。 – halil