我正在尝试使用 shell 命令将 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
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