HBase表中批量加载的详细步骤
Posted
技术标签:
【中文标题】HBase表中批量加载的详细步骤【英文标题】:detailed steps for bulk loading in HBase table 【发布时间】:2016-07-08 00:33:44 【问题描述】:我是 HBase 的新手。谁能给我一个关于如何在 HBase 表中进行批量加载的详细示例。
例如,我有一个包含 10 列和 100K 行的客户文件。我想将文件加载到 HBase 表中。
我创建了一个由 HIVE 管理的 HBase 表,并尝试使用 LOAD 命令加载该表,但失败了。
看来我只能从 HBase 插入表。
hive (Koushik)> CREATE TABLE hive_hbase_emp_sample(eid int, ename string, esal double)
> STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
> WITH SERDEPROPERTIES
> ("hbase.columns.mapping" = ":key,cfstr:enm,cfsal:esl")
> TBLPROPERTIES ("hbase.table.name" = "hive_hbase_emp_sample");
OK
Time taken: 6.404 seconds
hive (Koushik)> load data local inpath '/home/hduser/sample_emp_file' into table hive_hbase_emp_sample;
FAILED: SemanticException [Error 10101]: A non-native table cannot be used as target for LOAD
【问题讨论】:
【参考方案1】:您不能直接使用 load 来定位 HbaseStorage Handler 非本机表,而是将数据加载到临时表中,然后使用 select * from staging table 插入到 Hbase 表中
【讨论】:
以上是关于HBase表中批量加载的详细步骤的主要内容,如果未能解决你的问题,请参考以下文章
HBase的单节点集群详细启动步骤(分为Zookeeper自带还是外装)
HBase的单节点集群详细启动步骤(分为Zookeeper自带还是外装)