hbase中的使用completebulkload匯入資料
completebulkload(十分重要,在實際開發中一般都是使用這樣的方式來載入資料到表中):
file(csv)->hfile->load:這種方式是直接將file檔案轉換成hfile檔案,然後直接load到hbase中,因為自己載入資料到hbase中的時候,需要經過HLog->MemStore->Store->StoreFile->Hfile->load,相比使用completebulkload的方式來說,使用傳統的方式來載入的話,十分消耗叢集的資源。
export HBASE_HOME=/usr/local/base
export HADOOP_HOME=/usr/local/hadoop
HADOOP_CLASSPATH='
HADOOP_HOME/bin/yarn jar $HBASW_HOME/lib/hbase-server-1.3.1.jar
命令列輸入:export HBASE_HOME=/usr/local/hbase
export HADOOP_HOME=/usr/local/hadoop
HADOOP_CLASSPATH=’
{HBASE_HOME}/conf
${HADOOP_HOME}/bin/yarn jar
${HBASE_HOME}/lib/hbase-server-1.3.1.jar importtsv
就能看到提示:
將hdfs中的資料生成格式為hfile的檔案,並且儲存到 hdfs://mini4:9000/data/out 目錄下面(前提條件是表必須建立好,第一個hdfs是轉為hfile檔案格式後儲存的目錄,第二個是原資料的目錄)
export HBASE_HOME=/usr/local/hbase
export HADOOP_HOME=/usr/local/hadoop
HADOOP_CLASSPATH=’
{HBASE_HOME}/conf
${HADOOP_HOME}/bin/yarn jar
${HBASE_HOME}/lib/hbase-server-1.3.1.jar importtsv
-Dimporttsv.columns=HBASE_ROW_KEY,
info:name,info:sex
-Dimporttsv.bulk.output=hdfs://mini4:9000/data/out
student1
hdfs://mini4:9000/data/student.tsv
(執行下面命令後,會自動將上面的hfile檔案載入到hbase對應的hdfs路徑中)
將hdfs://mini4:9000/data/out目錄下面的資料存入到hbase中,
export HBASE_HOME=/usr/local/hbase
export HADOOP_HOME=/usr/local/hadoop
HADOOP_CLASSPATH=’
{HBASE_HOME}/conf
${HADOOP_HOME}/bin/yarn jar
${HBASE_HOME}/lib/hbase-server-1.3.1.jar
completebulkload
hdfs://mini4:9000/data/out
student1
成功後的截圖
通過自己書寫程式碼也可以實現。