如何使用Dimporttsv将csv文件从hdfs加载到hbase表



我正在尝试使用 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

最新更新