首先说一下.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中可以直接查询表了