设为首页 加入收藏

TOP

使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(三)
2015-11-21 01:27:17 来源: 作者: 【 】 浏览:3
Tags:使用 Hive Impala 执行 SQL 语句 存储 Elasticsearch 数据 操作
ala可以读取使用。执行join语句时,impala明显比hive快很多。在impala中执行INVALIDATE METADATA 、 REFRESH table_name语句以便 Impala 识别新的或已更改的数据。
?
但是,对于EXTERNAL TABLE数据存放在ES上的,Hive SQL可以正确执行,Impala SQL执行不正确,出错信息如下所示。
?
ERROR: AnalysisException: Failed to load metadata for table: default.hive_table?
CAUSED BY: TableLoadingException: Unrecognized table type for table: default. es_table?
可见使用elasticsearch-hadoop来做Impala计算,是不可行的。相比较下,数据存储在HBase中,使用Impala执行SQL语句却没有问题。具体可以查看《使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作》一文。
?
综上所述
?
数据存储在Elasticsearch中,使用Hive进行SQL操作,并不是一个好主意,这是由于ES的数据类型所限导致的ES与Hive的数据类型对应问题,并且Hive并不能用到Elasticsearch建立的索引的高效查询好处。虽然以上方案可以解决使用Hive对Elasticsearch较复杂SQL语句查询,但不方便也不高效,且Impala也不能支持。
故,目标1达成,但目标2没有达成。
首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇日期格式符RR和YY的区别 下一篇SQLite Autoincrement(自动递增)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: