1. 程式人生 > >hbase中的使用completebulkload匯入資料

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=' H

B A S E H O M E /
b i n / h b a s e c l
a s s p a t h {HBASE_HOME}/bin/hbase 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=’ H B A S E H O M E / b i n / h b a s e m a p r e d c p : {HBASE_HOME}/bin/hbase mapredcp': {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=’ H B A S E H O M E / b i n / h b a s e m a p r e d c p : {HBASE_HOME}/bin/hbase mapredcp': {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=’ H B A S E H O M E / b i n / h b a s e m a p r e d c p : {HBASE_HOME}/bin/hbase mapredcp': {HBASE_HOME}/conf
${HADOOP_HOME}/bin/yarn jar
${HBASE_HOME}/lib/hbase-server-1.3.1.jar
completebulkload
hdfs://mini4:9000/data/out
student1
成功後的截圖

在這裡插入圖片描述

通過自己書寫程式碼也可以實現。