当我使用shell命令(如下所示)将批量加载数据执行到hbase时。
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,cf1:val1,cf1:val2,cf1:val3 so_table /tmp/example/
我创建了一个文件并加载到像/tmp/example/
这样的hdfs中。
每条线的每种成分都由空间隔开。
我认为所有行中的这个分隔符空间结果看起来像坏线。
有没有办法使用带空格的分隔符?
答案 0 :(得分:0)
使用'-Dimporttsv.separator=" "'
。
答案 1 :(得分:0)
ImportTsv有两个用法。一个是正常的放置,另一个是批量加载。您上面给出的命令是常规Put。但在问题中,您将其指定为批量加载。请选择正确的选项。
因此,一旦决定使用,然后是分离器部分。 '-Dimporttsv.separator=" "'
是你如何使用分隔符。默认为制表符分隔。查看here以正确使用ImportTsv