使用importtsv在azure的hbase中加载文件时出错

tp5buhyn  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(484)

尝试在hbase中加载tsv文件,该hbase在microsoft azure cloud中的hdinsight中运行,使用建议的方法通过远程桌面连接并在命令行上运行尝试将t1.tsv文件(两个选项卡分隔列)从hdfs加载到hbase t1表:c:\apps\dist\hbase-0.98.0.2.1.5.0-2057-hadoop2\bin>hbaseorg.apache.hadoop.hbase.mapreduce.importtsv-dimporttsv.columns=hbase\u row\u key,num t1.tsv
and get:error:除了行键和时间戳(可选)之外,还需要一个或多个列用法:importtsv-dimporttsv.columns=a,b,c
将指定列的顺序替换为num,hbase\u row\u key c:\apps\dist\hbase-0.98.0.2.1.5.0-2057-hadoop2\bin>hbase org.apache.hadoop.hbase.mapreduce.importtsv-dimporttsv.columns=num,hbase\u row\u key t1 t1.tsv i get:错误:必须仅指定一列作为hbase\u row\u key用法:importtsv-dimporttsv.columns=a,b,c
这告诉我列列表中的逗号分隔符无法识别或列名不正确我还尝试使用带限定符的列作为num:v and 作为“num”-没有任何帮助
有什么问题吗?谢谢。

pftdvrlh

pftdvrlh1#

>hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns="HBASE_ROW_KEY,d:c1,d:c2" testtable /example/inputfile.txt

这对我有用。我认为linux和windows中的终端有一些区别,因此在windows中需要加引号来说明这是一个值字符串,否则可能无法识别。

相关问题