首先说一下.tsv的文件扩展名。TSV文件格式的全称是“制表符分隔值”,而这些制表符分隔值文件被创建和使用的许多电子表格应用程序
导数之前、首先确保hadoop和hdbase是开启的。
第一步:创建hbase 表
命令行执行hbase shell 进入到hbase shell
创建表 create 'importTsvHbase' ,'col1','col2'
第二步:进入到$HBASE_HOME/bin目录下,执行以下命令即可
./hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.bulk.output=hbaseTsv –Dimporttsv.columns=HBASE_ROW_KEY,col1:name,col2:exp importTsvHbase /user/hbase/hbase.tsv
参数说明:
-Dimporttsv.bulk.output=hbaseTsv :输出文件位置,文件输出为 hdfs上 /user/当前用户名/hbaseTsv
importTsvHbase:要导入到hbase中的表名
/user/hbase/hbase.tsv:hdfs上文件的位置
还有一些其他的可选参数:
-Dimporttsv.skip.bad.lines=false:强制跳过错误的行
-Dimporttsv.separator=| :指定文件的分隔符
-Dimporttsv.timestamp=currentTimeAsLong :指定当前时间戳
-Dimporttsv.mapper.class=my.Mapper :指定自定义的mapper方法。默认使用
org.apache.hadoop.hbase.mapreduce.TsvImporterMapper
第三步:修改输出文件的权限
hdfs dfs -chown -R hbase:hbase /user/当前用户名/hbaseTsv
最后一步:将文件和hbase表关联起来
./hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles hbaseTsv importTsvHbase
关联完毕后,在hbase shell中可以直接查询表了