Импорт файла TSV в таблицу hbase

Я использую hortonworks 2.1 с hbase и hive. Я хочу создать таблицу hbase из файла tsv. Файл находится здесь:

  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
                                              ^

person Amine CHERIFI    schedule 04.12.2014    source источник


Ответы (3)


У вас уже есть таблица, созданная в Hbase? Сначала вам нужно создать таблицу в Hbase с «d» в качестве семейства столбцов, а затем вы можете импортировать этот файл tsv в эту таблицу.

person Amar    schedule 04.12.2014

После создания таблицы команда импорта не выполняется в оболочке hbase, вы можете выполнить ее в обычной консоли, тогда она будет работать правильно, давайте рассмотрим пример ниже.

  1. создайте таблицы в оболочке hbase в соответствии с нашим требованием

    create 'mytable5', 'cf'
    create 'mytable6', 'cf'
    
  2. хранить данные в hdfs

    hadoop fs -put /home/mani/work/hbase_inputs /hbase_inputs
    
  3. команда импорта выполняется в обычной консоли

    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
    
person Mani    schedule 12.05.2017

Вы должны создать таблицу в Hbase с «d» в качестве семейства столбцов, а затем вы можете импортировать этот файл tsv в эту таблицу.

person Naag    schedule 27.01.2018
comment
Чем ваш ответ отличается от существующего? - person fen1x; 27.01.2018