很久,很久沒有寫個博客了,自從上次封閉開始,到「自閉」,有了一段時間了,哈哈^_^ 、 java
多虧了雲桌面的歇菜, 一下午啥都幹不了, 忽然想到,很久沒有寫點啥了,就寫的,讓時間流走有點痕跡吧 _(:з」∠)_python
以前,作過一個小工具,就是將一個文件中的數據,插入的hbase中, 將其簡單闡述一番,多少記一點吧,要不在過一段時間都忘了。linux
插入到hbase中,有不少中選擇,java的方式是能夠的,可是作一個腳本,沒有必要,操做起來不方便,還得編譯,.... , shell
選擇shell或python的方式,是個方便的選擇,反正是個小工具,有可能會隨時調整 ,並且linux是自帶的Python環境多線程
要用Python腳步的方式插入到hbase,參考hbase的官方文檔。運維
查看hbase Reference Guide, 裏面介紹內容不少,包括不少入門操做說明等。
本次,主要是查看了如何更好的利用Python腳步插入到hbase中。
因爲hbase是java寫的,要用Python去執行查詢插入數據到hbase中,是有兩種方式走,ide
因爲要用thrift方式,是須要開啓服務,須要往Python安裝其餘第三方類庫,增長運維人員負擔,最後嘗試後採用第二中方法。工具
用hbase shell 的方式,大數據
這幾種HBase數據導入方式(不推薦使用)
理由:ui
最後,查詢官方文檔後,得知ImportTsv是HBase官方提供的基於Mapreduce的批量數據導入工具。
同時ImportTsv是Hbase提供的一個命令行工具,能夠將存儲在HDFS上的自定義分隔符(默認\t)的數據文件,經過一條命令方便的導入到HBase表中,對於大數據量導入很是實用。
這種方式,是將要插入數據寫放到HDFS上,這樣保證數據不丟失,多份數據,而後開啓MapReduce的方式,插入到hbase。當執行10w條數據插入沒有問題,但100w的數據插入就會出現丟失狀況。
解決方案是先用ImportTsv生成HFile,而後在用bulkload 的方式將HFIle導入到hbase的裏面。
總結:
多看hbase的官方文檔,但也要多搜索一下國內大牛寫的博客,畢竟有人實際過,少嘗試一些方法。
若您看到後,會用什麼方式,能夠留言討論。
O(∩_∩)O哈哈~ 剛看了一下,雲桌面好了,幹活了!