【问题标题】:Load csv file to Hbase by using Importtsv使用 Importtsv 将 csv 文件加载到 Hbase
【发布时间】:2017-07-25 04:05:44
【问题描述】:

我正在尝试使用 Importtsv 将 csv 文件加载到 Hbase。

我已经将customers1.csv上传到hdfs,使用命令创建了一个名为t1的hbase表

hbase(main):001:0> create 't1','FirstName','LastName'

当我尝试通过运行命令将 csv 数据加载到 hbase 表 t1 时:

hbase(main):010:0> hbase org.apache.hadoop.hbase.mapreduce.ImportTsv-Dimporttsv.separator=',' -Dimporttsv.columns='HBASE_ROW_KEY,FirstName,LastName' t1 hdfs://my.cluster.com/user/maapr/test/customers1.csv

我未能加载数据,原因是:

SyntaxError: (hbase):10: syntax error, unexpected tIDENTIFIER

我遵循了在线研究的语法,但仍然出现此语法错误。知道发生了什么吗?您的解决方案将不胜感激。

还有一个愚蠢的问题。除了 Importtsv 之外,还有其他方法可以将数据从 HDFS 加载到 Hbase 吗?谢谢。

【问题讨论】:

    标签: csv hbase hdfs bigdata


    【解决方案1】:

    您正在从 HBase shell 运行批量加载命令。从 HBase shell 中出来并尝试.. :)

    这部分需要空格:ImportTsv -Dimporttsv.separator=','

    hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator=',' -Dimporttsv.columns='HBASE_ROW_KEY,FirstName,LastName' t1 hdfs://my.cluster.comser/maapr/test/customers1.csv
    

    对于批量加载,您还可以编写自定义 MR 作业。 我正在为我的 Phoenix HBase 表使用 Apache Phoenix Bulk Load Tool

    【讨论】:

    • 当我们不知道至少有 150 列时,我们在 -Dimporttsv.columns= 中写什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多