Как загрузить CSV-файл из hdfs в таблицу hbase с помощью Dimporttsv - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь загрузить файл csv в таблицу hbase с помощью команды оболочки Dimporttsv. Файлы csv находятся в каталоге в моих hdfs (/ csvFiles)

файл csv был создан из таблицы mysql сследующие поля:

+-------------+
Field       
+-------------+
tweet_id
user_id
screen_name
description
created_at
+-------------+

Я создал таблицу в hbase с одним именем семьи, как показано ниже:

create 'dummyTable', 'cf1'

команда, которую я использую:

ImportTsv -Dimporttsv.separator=',' -Dimporttsv.columns=HBASE_ROW_KEY,cf1:user_id,cf1:tweet_id,cf1:screen_name,cf1:description,cf1:created_at dummyTable /csvFiles/all_users.csv

однако я получаю эту синтаксическую ошибку:

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

Я просмотрел следующие посты и следовал их рекомендациям, но безрезультатно.Буду признателен за вашу помощь.

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

https://community.hortonworks.com/articles/4942/import-csv-data-into-hbase-using-importtsv.html

http://hbase.apache.org/book.html#importtsv

1 Ответ

0 голосов
/ 28 марта 2019

Выйдите из Hbase shell и попробуйте добавить одинарные кавычки в importtsv.columns

bash$ hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator=',' -Dimporttsv.columns='HBASE_ROW_KEY,cf1:user_id,cf1:tweet_id,cf1:screen_name,cf1:description,cf1:created_at' dummyTable hdfs://<your_name_node_addr>/csvFiles/all_users.csv

(или)

From Hbase Shell:

hbase(main):001:0> ImportTsv -Dimporttsv.separator=',' -Dimporttsv.columns='HBASE_ROW_KEY,cf1:user_id,cf1:tweet_id,cf1:screen_name,cf1:description,cf1:created_at' dummyTable hdfs://<your_name_node_addr>/csvFiles/all_users.csv
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...