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
成功后的截图
通过自己书写代码也可以实现。