HBase 的数据迁移importTsv功能
2018-05-10 本文已影响96人
明明德撩码
数据迁移场景举例
- Hbase集群装好了,若需要往表中装数据;
- 数据的备份,如测试集群往生产集群上迁移。
几种HBase数据导入方式(不推荐使用)
使用Hbase Put API:例如MapReduce也是使用Put API
使用Hbase批量加载工具
自定义的MapReduce job
这三种方式都涉及到Put内置,大多数数据迁移场景都涉及到数据的导入(import),从存在的RDBMS导入到Hbase中去,大多数简单直接的方法是直接获取数据,使用单线程,这种效果非常慢,其实可以写多线程完成。
ImportTsv是HBase官方提供的基于Mapreduce的批量数据导入工具。
同时ImportTsv是Hbase提供的一个命令行工具,可以将存储在HDFS上的自定义分隔符(默认\t)的数据文件,通过一条命令方便的导入到HBase表中,对于大数据量导入非常实用
以下将介绍如何使用importTsv.
通过以下步骤可以将一个tsv文件的数据导入到hbase的表格中
- 第1步:建立student.tsv文件。
-
第2步:编辑student.tsv文件,添加以下内容,并保存。
-
第3步:创建一个目录
image.png -
第4步:上传文件
-
第5步:建表
-
第6步:开始运行MapReduce
export HBASE_HOME=/opt/sofewares/hbase/hbase-0.98.6-hadoop2
export HADOOP_HOME=/opt/cdh5.3.6/hadoop-2.5.0-cdh5.3.6
HADOOP_CLASSPATH=`${HBASE_HOME}/bin/hbase mapredcp` ${HADOOP_HOME}/bin/hadoop jar
$HBASE_HOME/lib/hbase-server-0.98.6-hadoop2.jar importtsv \
-Dimporttsv.columns=HBASE_ROW_KEY,info:name,info:age,info:sex,info:address,info:phone student hdfs://hadoop-senior.beifeng.com:8020/user/beifeng/hbase/importtsv
-
第7步:查看student表格结果