ImportTsv-HBase数据导入工具 作者:幽鸿 一、概述 HBase官方提供了基于Mapreduce的批量数据导入工具:Bulk load和ImportTsv。...二、ImportTsv介绍 ImportTsv是Hbase提供的一个命令行工具,可以将存储在HDFS上的自定义分隔符(默认\t)的数据文件,通过一条命令方便的导入到HBase表中,对于大数据量导入非常实用...三、源码解析 本文基于CDH5 HBase0.98.1,ImportTsv的入口类是org.apache.hadoop.hbase.mapreduce.ImportTsv [java] view plaincopyprint...方法中判断参数BULK_OUTPUT_CONF_KEY开始,这步直接影响ImportTsv的Mapreduce作业最终以哪种方式入HBase库 如果不为空并且用户没有自定义Mapper实现类(参数importtsv.mapper.class...$ bin/hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=a,b,c $ bin/hbase org.apache.hadoop.hbase.mapreduce.ImportTsv
(本篇文章不扩展) 使用 importtsv 工具将 TSV 格式数据转换为 HFile ,自动生成 MapReduce 任务。...importtsv 是一个实用工具,它将 TSV 格式的数据加载到 HBase 中。...尽管 importtsv 工具在许多情况下很有用,但高级用户可能希望以编程方式生成数据,或使用其他格式导入数据。...如果有这样的需求,请深入了解 ImportTsv.java 和 HFileOutputFormat 的 JavaDoc ,修改源码进行实现。...4.3 通过importtsv工具生成HFile文件 使用 importtsv 工具生成 HFile 文件,执行如下命令: sudo -u hdfs hbase org.apache.hadoop.hbase.mapreduce.ImportTsv
一般有三种方法:ImportTsv工具、编写MapReduce程序和Hive外表。本节重点介绍ImportTsv工具和编写MapReduce程序两种方法,Hive外表将在第11章介绍。...10.7.2 ImportTsv (1)介绍 ImportTsv是HBase官方提供了基于mapreduce进行批量数据导入的工具,ImportTsv可以将HDFS上的TSV格式(默认制表符分隔\t,或者自定义分隔符的其他格式数据文件也可...hbase(main):002:0> quit [root@node1 data]# (4)上传数据 执行导入命令: hbase org.apache.hadoop.hbase.mapreduce.ImportTsv...info:data2,info:data3 mydata input/mydata.txt [root@node1 ~]# hbase org.apache.hadoop.hbase.mapreduce.ImportTsv...Virtual memory (bytes) snapshot=2108084224 Total committed heap usage (bytes)=30474240 ImportTsv
一般的步骤有两步 (1)使用ImportTsv或者import工具或者自己写程序用hive/pig生成HFiles (2)用completebulkload把HFiles加载到hdfs上 ImportTsv
使用bulk load功能最简单的方式就是使用importtsv 工具。importtsv 是从TSV文件直接加载内容至HBase的一个内置工具。...MySQL到HBase的迁移策略的研究与实现 三类迁移方法的比较: (1)现有的迁移工具如Hadoop的官方工具Sqoop只支持单表的增量加载,无法完成数据库系统中众多表模式的迁移; (2)HBase的Importtsv...local/zookeeper/current/zookeeper-3.4.3.jar:/usr/local/hbase/current/lib/guava-r09.jar (6)使用hac用户运行importtsv...工具,执行如下脚本 hac@client1$ $HADOOP_HOME/bin/hadoop jar $HBASE_HOME/hbase- 0.92.1.jar importtsv \ -Dimporttsv.columns
bin/hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator=$'\x01' -Dimporttsv.columns...Hbase 默认采用第二种方式,如果用户想使用第一种方式,需要在运行命令时,指定 importtsv.mapper.class 的值为 org.apache.hadoop.hbase.mapreduce.TsvImporterTextMapper...客户在使用命令时,通过 importtsv.separator 参数指定分隔符,通过 importtsv.columns 参数指定列格式。...TsvParser 类负责解析数据,它定义在 ImportTsv 类里。这里需要注意下,它不支持负责的 CSV 格式,只是简单的根据分隔符作为列的划分,根据换行符作为每条数据的划分。
hbase-thrift 启动hbase的thrift服务:bin/hbase-daemon.sh start thrift 默认端口是9090 mysql 到hbase的数据同步: 1、put 2、Importtsv
mysql表的where条件,写法和sql中一样 --split-by CREATE_TIME默认情况下sqoop使用4个并发执行任务,需要制订split的列,如果不想使用并发,可以用参数--m 1 importTsv...的使用 hbase org.apache.hadoop.hbase.mapreduce.ImportTsv'-Dimporttsv.separator=,' -Dimporttsv.columns='HBASE_ROW_KEY
来实现大数据量不经过内存直接写入Hbase 特点 优点:不经过内存,降低了内存和磁盘的IO吞吐 缺点:性能上相对来说要慢一些,所有数据都不会在内存中被读取 知识点08:BulkLoad的实现 知识点09:ImportTSV
hbase-table 对应的hbase表名 4、--hbase-row-key hbase表中的rowkey,注意格式 5、--column-family hbase表的列族 2.3、HBase ImportTSV...ImportTSV功能描述: 将tsv(也可以是csv,每行数据中各个字段使用分隔符分割)格式文本数据,加载到HBase表中。...${HBASE_HOME}/conf ${HADOOP_HOME}/bin/yarn jar ${HBASE_HOME}/lib/hbase-server-1.2.0-cdh5.14.0.jar \ importtsv...${HBASE_HOME}/conf ${HADOOP_HOME}/bin/yarn jar ${HBASE_HOME}/lib/hbase-server-1.2.0-cdh5.14.0.jar \ importtsv
后面的数据分析我们会经常涉及到这样的格式) $ /opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/bin/yarn jar \ lib/hbase-server-0.98.6-hadoop2.jar importtsv
WAL,所以当出现数据丢失,没办法恢复数据,需要重新再转换一次 实现: 应用程序实现: 负责将普通文件转换成为hfile文件 负责将转换好的hfile文件加载到hbase表中 hbase自带实现: 1.ImportTSV...是hbase-server.jar包中自带的一个命令,可以实现使用put方式将数据导入hbase表中,也实现了将普通文件转换成一个hfile文件的两种方式 2.completebulkload,上面的importtsv...1. yarn jar /export/servers/hbase-1.2.0-cdh5.14.0/lib/hbase-server-1.2.0-cdh5.14.0.jar importtsv...构建了二级索引,直接调用hbase的api实现,因此在于hbase集成度和性能是最优选 sqoop第三方工具: 原理:底层也是使用mapreduce程序导入数据,从关系型数据库中导入到hdfs,然后使用importtsv
fruit表中 [bigdata@hadoop002 hbase]$ /opt/module/hadoop-2.7.2/bin/yarn jar lib/hbase-server-1.3.1.jar importtsv
music2 在Hbase sheel 中创建表 create 'music','info' 导入tsv文件到 music表中 hbase org.apache.hadoop.hbase.mapreduce.ImportTsv
,一般都会考虑使用bulkload的方式,而bulkload其实也有很多种选择: 1.编写MapReduce/Spark程序生成hfile文件,然后通过HBase命令load数据 2.通过HBase的ImportTsv
input_fruit/ 4)执行MapReduce到HBase的fruit表中 $ /opt/module/hadoop-2.7.2/bin/yarn jar lib/hbase-server-1.3.1.jar importtsv
/lib/hbase-server-1.3.1.jar importtsv \ -Dimporttsv.columns=HBASE_ROW_KEY,info:name,info:color fruit
领取专属 10元无门槛券
手把手带您无忧上云