使用HBase自带的lib包下的hbase-server-xxx.jar中的importtsv和completebulkload导入数据
1.首先需要在Hadoop集群中配置HBase的环境
1.复制hbase-site.xml$HADOOP_HOME/etc/hadoop/
2.编辑$HADOOP_HOME/etc/hadoop/hadoop-env.sh,在最后增加一行,意思是将hbase的lib下的所有jar加入到hadoop的classpath目录下。
exportHADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HBASE_HOME/lib/*
3.将上述两个文件内容复制到集群其他节点
2.将数据上传到HDFS,例如我上传到了/input/hbase/music
3.执行命令,这条命令比较长,实际上是对数据进行了预处理,放到输出路径下。
hadoop jar jar路径 importtsv -Dimporttsv.bulk.output=HDFS输出路径 -Dimporttsv.columns=HBASE_ROW_KEY,列族:列键 表名 HDFS输入路径
比如:
hadoop jar /home/hadoop/apps/hbase/lib/hbase-server-1.3.1.jar importtsv -Dimporttsv.bulk.output=/user/hadoop/tmp -Dimporttsv.columns=HBASE_ROW_KEY,info:name,info:singer,info:gender,info:type,info:client music /input/music
4.执行命令,将处理后的数据放入hbase
hadoop jar jar包路径 completebulkload 预处理后的路径 表名
例如:
hadoop jar /home/hadoop/apps/hbase/lib/hbase-server-1.3.1.jar completebulkload /user/hadoop/tmp music
5.查看hbase数据库
本文详细介绍如何使用HBase自带的lib包中的importtsv和completebulkload工具进行数据批量导入。首先需配置HBase环境并复制配置文件到Hadoop集群各节点;然后将待导入数据上传至HDFS;接着通过importtsv命令对数据进行预处理;最后用completebulkload命令将预处理后的数据加载进HBase表。
479

被折叠的 条评论
为什么被折叠?



