我正在使用带有hbase和hive的hortonworks 2.1。 我想从tsv文件创建一个hbase表。该文件在这里:
id c1 c2
row1 1 22
row2 e1 42
row3 g1 f2
row4 f1 c2
row5 d1 c2
row6 c1 42
row7 e1 c2
row8 c1 c2
row9 c1 c2
row10 c1 22
我使用的命令是:
bin/hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns= HBASE_ROW_KEY,d:c1,d:c2 hbaseTable /tmp/testTSV.tsv
但我收到了这个错误:
SyntaxError: (hbase):5: syntax error, unexpected tSYMBEG
这是错误:
hbase(main):007:0> ImportTsv -Dimporttsv.columns= HBASE_ROW_KEY,d:c1,d:c2 hbaseTable/tmp/testTSV.tsv
SyntaxError: (hbase):7: syntax error, unexpected tSYMBEG
ImportTsv -Dimporttsv.columns= HBASE_ROW_KEY,d:c1,d:c2 hbaseTable /tmp/testTSV.tsv
^
答案 0 :(得分:2)
您是否已在Hbase中创建了一个表?您首先必须在Hbase中创建一个表,其中'd'作为列族,然后您可以将此tsv文件导入该表。
答案 1 :(得分:0)
创建表后,import命令不在hbase shell中执行,你可以在普通控制台中执行然后它会正常工作 让我们下面的例子
根据我们的要求在hbase shell中创建tabl
create 'mytable5', 'cf'
create 'mytable6', 'cf'
将数据保存在hdfs
中hadoop fs -put /home/mani/work/hbase_inputs /hbase_inputs
导入命令在普通控制台中执行
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,cf:c1,cf:c2 mytable5 hdfs://localhost:8020/hbase_inputs/import/sample1.tsv
答案 2 :(得分:0)
你应该在Hbase中创建一个表,其中包含' d'作为列族,然后您可以将此tsv文件导入该表。