使用importTsv完成HBase 的数据迁移

数据迁移场景举例

  • 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表格结果

猜你喜欢

转载自blog.csdn.net/qq_16095837/article/details/80267495
今日推荐