Import TSV file into hbase table

痴心易碎 提交于 2019-12-01 05:46:33

问题


I'm using hortonworks 2.1 with hbase and hive. I want to create a hbase table from tsv file. The file is here:

  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

The command I used is:

bin/hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns= HBASE_ROW_KEY,d:c1,d:c2 hbaseTable /tmp/testTSV.tsv

But I got this error:

SyntaxError: (hbase):5: syntax error, unexpected tSYMBEG

this is the error:

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
                                              ^

回答1:


Do you have a table already created in Hbase ? You will first have to create a table in Hbase with 'd' as a column family and then you can import this tsv file into that table.




回答2:


After creating the table, the import command dont execute in hbase shell, you can execute in normal console then it will work properly let us below example

  1. create the tabls in hbase shell as per our requirement

    create 'mytable5', 'cf'
    create 'mytable6', 'cf'
    
  2. keep the data in hdfs

    hadoop fs -put /home/mani/work/hbase_inputs /hbase_inputs
    
  3. import command execute in normal console

    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
    



回答3:


You shoud create a table in Hbase with 'd' as a column family and then you can import this tsv file into that table.



来源:https://stackoverflow.com/questions/27291656/import-tsv-file-into-hbase-table

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!