文档章节

ImportTsv

Yulong_
 Yulong_
发布于 2017/03/01 21:05
字数 552
阅读 41
收藏 1

hbase

用法一

$ hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,f:q1,c <options> <tablename> <hdfs-inputdir>

<tablename> <hdfs-inputdir>参数需要放置在命令尾端

用法二

$ HADOOP_CLASSPATH=`hbase classpath` hadoop jar ${HBASE_HOME}/lib/hbase-server-<version>.jar importtsv <options> <tablename> <hdfs-inputdir>

<tablename> <hdfs-inputdir>参数需要放置在命令尾端

例子

文件

$ hadoop fs -cat /hbasetest/test.txt
1|value1|valueq1
2|value2|valueq2

hbase表

$ hbase shell
create 'htable','f'

用法一

$ hbase org.apache.hadoop.hbase.mapreduce.ImportTsv '-Dimporttsv.columns=HBASE_ROW_KEY,f:q1,f:q2' '-Dimporttsv.separator=|' -Dimporttsv.skip.bad.lines=false  htable /hbasetest/test.txt

用法二

$ HADOOP_CLASSPATH=`hbase classpath` hadoop jar /opt/cloudera/parcels/CDH-5.10.0-1.cdh5.10.0.p0.41/lib/hbase/hbase-server-1.2.0-cdh5.10.0.jar importtsv '-Dimporttsv.columns=HBASE_ROW_KEY,f:q1,f:q2' '-Dimporttsv.separator=|' -Dimporttsv.skip.bad.lines=false  htable /hbasetest/test.txt

帮助信息

$ hbase org.apache.hadoop.hbase.mapreduce.ImportTsv

Usage: importtsv -Dimporttsv.columns=a,b,c <tablename> <inputdir>

Imports the given input directory of TSV data into the specified table.

The column names of the TSV data must be specified using the -Dimporttsv.columns
option. This option takes the form of comma-separated column names, where each
column name is either a simple column family, or a columnfamily:qualifier. The special
column name HBASE_ROW_KEY is used to designate that this column should be used
as the row key for each imported record. You must specify exactly one column
to be the row key, and you must specify a column name for every column that exists in the
input data. Another special columnHBASE_TS_KEY designates that this column should be
used as timestamp for each record. Unlike HBASE_ROW_KEY, HBASE_TS_KEY is optional.
You must specify at most one column as timestamp key for each imported record.
Record with invalid timestamps (blank, non-numeric) will be treated as bad record.
Note: if you use this option, then 'importtsv.timestamp' option will be ignored.

Other special columns that can be specified are HBASE_CELL_TTL and HBASE_CELL_VISIBILITY.
HBASE_CELL_TTL designates that this column will be used as a Cell's Time To Live (TTL) attribute.
HBASE_CELL_VISIBILITY designates that this column contains the visibility label expression.

HBASE_ATTRIBUTES_KEY can be used to specify Operation Attributes per record.
 Should be specified as key=>value where -1 is used 
 as the seperator.  Note that more than one OperationAttributes can be specified.
By default importtsv will load data directly into HBase. To instead generate
HFiles of data to prepare for a bulk data load, pass the option:
  -Dimporttsv.bulk.output=/path/for/output
  Note: if you do not use this option, then the target table must already exist in HBase

Other options that may be specified with -D include:
  -Dimporttsv.skip.bad.lines=false - fail if encountering an invalid line
  '-Dimporttsv.separator=|' - eg separate on pipes instead of tabs
  -Dimporttsv.timestamp=currentTimeAsLong - use the specified timestamp for the import
  -Dimporttsv.mapper.class=my.Mapper - A user-defined Mapper to use instead of org.apache.hadoop.hbase.mapreduce.TsvImporterMapper
  -Dmapreduce.job.name=jobName - use the specified mapreduce job name for the import
  -Dcreate.table=no - can be used to avoid creation of table by this tool
  Note: if you set this to 'no', then the target table must already exist in HBase
  -Dno.strict=true - ignore column family check in hbase table. Default is false

For performance consider the following options:
  -Dmapreduce.map.speculative=false
  -Dmapreduce.reduce.speculative=false

© 著作权归作者所有

上一篇: htable recreate
下一篇: hbase shell
Yulong_
粉丝 10
博文 145
码字总数 253510
作品 0
朝阳
部门经理
私信 提问
HBASE迁移数据几种方式(代码实例)

一.数据导入HBase中常见方式 数据的来源: (1)日志 (2)RDBMS 导入的方式: .使用hbase的api put api(kettle,sqoop) .使用HBase的API中的Put是最直接的方法,用法也很容易学习。但针对大部分情...

qq_26960063的博客
2017/12/12
0
0
HBase 数据导入 ImportTsv

ImportTsv 工具是通过map reduce 完成的。所以要启动yarn. 工具要使用jar包,所以注意配置classpath。ImportTsv默认是通过hbase api 插入数据的 [hadoop-user@rhel work]$ cat /home/hadoop-...

JUN_LJ
2018/06/28
0
0
hbase在yarn上运行rowcounter,mapper数怎么一直是1,集群有4个节点

大家好, 我在hadoop yarn上运行hbase自带的rowcounter,做行数统计,使用importtsv导入数据到hbase中,然后使用rowcounter进行行数统计。大表有500GB,集群有4个节点,但是运行后mapper数目...

nicolebb
2014/10/21
998
0
CompleteBulkLoad

CompleteBulkLoad completebulkload功能是将是将StoreFiles移动到Hbase表中,一般先通过importtsv生成StoreFiles. 生成StoreFiles 两种方式生成文件 Explicit Classname Driver 使用 两种方式...

Yulong_
2017/03/06
62
0
hadoop执行分布式Process

要把N个超级大表导入HBase,N是按月来分的,表:亿+的行数,100+的字段。测试过sqoop,JDBC,性能都不满意,对任务失败重做也很麻烦,HBase的批量导出还靠谱点,但这样导入HBase有几个麻烦的...

nubo
2012/08/31
3.1K
8

没有更多内容

加载失败,请刷新页面

加载更多

哪些情况下适合使用云服务器?

我们一直在说云服务器价格适中,具备弹性扩展机制,适合部署中小规模的网站或应用。那么云服务器到底适用于哪些情况呢?如果您需要经常原始计算能力,那么使用独立服务器就能满足需求,因为他...

云漫网络Ruan
今天
10
0
Java 中的 String 有没有长度限制

转载: https://juejin.im/post/5d53653f5188257315539f9a String是Java中很重要的一个数据类型,除了基本数据类型以外,String是被使用的最广泛的了,但是,关于String,其实还是有很多东西...

低至一折起
今天
23
0
OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
11
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
9
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部