首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用EsStorageHandler在蜂巢中创建外部表时出错

使用EsStorageHandler在蜂巢中创建外部表时出错
EN

Stack Overflow用户
提问于 2015-06-03 09:56:29
回答 1查看 1.4K关注 0票数 1

在创建外部表以将数据从Hive推送到ElasticSearch时,我遇到了一个错误。

到目前为止我所做的:

1)成功地设置了ElasticSearch-1.4.4并正在运行。

2)成功地设置了Hadoop1.2.1,所有守护进程都已启动并运行。

3)成功地建立了蜂巢-0.10.0

4)将elasticsearch-hadoop-1.2.0.jar配置为Hadoop/libHive/lib

5)在Hive中成功地创建了几个内部表。

执行以下命令时出现错误:

代码语言:javascript
复制
CREATE EXTERNAL TABLE drivers_external (
    id BIGINT, 
    firstname STRING, 
    lastname STRING, 
    vehicle STRING, 
    speed STRING) 
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'                    
TBLPROPERTIES('es.nodes'='localhost','es.resource' = 'drivers/driver');

错误是:

Failed with exception org.apache.hadoop.hive.ql.metadata.HiveException: Error in loading storage handler.org.elasticsearch.hadoop.hive.EsStorageHandler FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

任何帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-03 11:13:41

终于找到了决议..。

1)我正在使用的"elasticsearch-hadoop-1.2.0.jar“jar被窃听了一个。它里面没有任何hadoop/hive包。(在网上找到了这个罐子,刚刚下载)。

现在从"elasticsearch-hadoop-1.3.0.M1.jar". Maven存储库中替换为jar

2)在新的elasticsearch中将类"org.elasticsearch.hadoop.hive.**EsStorageHandler**"重命名为"org.elasticsearch.hadoop.hive.**ESStorageHandler**"。注意,大写字母'S'在'ES‘中。

因此,创建External table的新hive命令是:

代码语言:javascript
复制
CREATE EXTERNAL TABLE drivers_external (
       id BIGINT, 
       firstname STRING, 
       lastname STRING, 
       vehicle STRING, 
       speed STRING) 
STORED BY 'org.elasticsearch.hadoop.hive.ESStorageHandler'
TBLPROPERTIES('es.nodes'='localhost','es.resource' = 'drivers/driver');

啊,真灵!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30616756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档