尝试加载在Microsoft Azure云中的HDInsight中运行的hbase中的tsv文件使用推荐的方法通过远程桌面连接并在命令行上运行尝试将t1.tsv文件(具有两个制表符分隔的列)从hdfs加载到HBase t1表中: C:\apps\dist\hbase-0.98.0.2.1.5.0-2057-hadoop2\bin>hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,num t1 t1.tsv
and get: ERROR:除了行键和时间戳(可选)外,还需要一列或多列用法: importtsv -Dimporttsv.columns=a,b,c
将指定列的顺序替换为num,HBASE_ROW_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_ROW_KEY t1 t1.tsv I get: ERROR:必须只指定一列作为导入用法: HBASE_ROW_KEY v -Dimporttsv.columns=a,b,c
这告诉我无法识别列列表中的逗号分隔符或列名不正确。我还尝试使用带有限定符的列作为num:v和'num‘-没有任何帮助
你知道这里会出什么问题吗?谢谢。
发布于 2014-11-07 06:25:42
>hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns="HBASE_ROW_KEY,d:c1,d:c2" testtable /example/inputfile.txt这对我很有效。我认为Linux和Windows中的终端有一些不同,因此在windows中您需要添加引号来澄清这是一个值字符串,否则可能无法识别。
https://stackoverflow.com/questions/26260468
复制相似问题