HBase-ImportTsv指定特殊字符作为分隔符

# 创建表
create 'ns_test:test',{NAME => 'f',  VERSIONS => '1' , COMPRESSION => 'LZO'},{NUMREGIONS => 3, SPLITALGO => 'HexStringSplit'}

# 创建bulkload数据
for i in $(seq 101 200); do name=`uuidgen`;id=`echo $name | cut -c 1-5`;echo -e "${id}_data\x01${name}"; done > data.txt

# 上传到hdfs
hdfs dfs -rmr /user/hbase/bulkload/clear/input/*
hdfs dfs -put data.txt /user/hbase/bulkload/clear/input
hdfs dfs -ls  /user/hbase/bulkload/clear/input

# 指定特殊分隔符 \x01 防止数据解析异常
hdfs dfs -rmr /user/hbase/bulkload/clear/output
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator=`echo -e "\x01"` -Dimporttsv.columns=HBASE_ROW_KEY,f:name -Dimporttsv.bulk.output=/user/hbase/bulkload/clear/output ns_test:test /user/hbase/bulkload/clear/input
hdfs dfs -lsr /user/hbase/bulkload/clear/output

你可能感兴趣的:(HBase-ImportTsv指定特殊字符作为分隔符)