首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Reg : hive中查询优化器的效率

Reg : hive中查询优化器的效率
EN

Stack Overflow用户
提问于 2020-04-19 06:56:13
回答 1查看 177关注 0票数 3

在阅读了有关查询优化技术的文章之后,我了解了以下技术。

代码语言:javascript
复制
1. Indexing - bitmap and BTree
2. Partitioning
3. Bucketing

我理解了分区和存储之间的区别,以及何时使用它们,但我仍然不知道索引实际上是如何工作的。索引的元数据存储在哪里?存储它的是namenode吗?也就是说,实际上在创建分区或桶时,我们可以在hdfs中看到多个目录,这说明了查询性能优化,但是如何可视化索引呢?它们真的在现实生活中使用吗,尽管在图片中存在着分割和冲突?

请帮助我进行上述查询,是否有hadoop和hive开发人员社区的专用页面?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-20 07:33:43

  1. Hive中的索引从未在现实生活中使用过,也从未有效,正如@mazaneicha在注释索引特性中注意到的那样,在Hive3.0中完全删除了这个Jira:蜂巢-18448。这是一次伟大的尝试,多亏了Facebook支持,我们学到了宝贵的经验教训。

但在ORC中有一些重量较轻的指标(其实并不是经典的指标,而是min、max和Bloom过滤器,它有助于修剪条纹)。如果在插入期间对数据进行排序(distribute+sort),则ORC索引和布卢姆筛选器是有效的。

  1. 分区是最有效的,如果分区模式对应于如何过滤表或如何加载表(如果增量数据是整个分区,则允许并行加载分区)。
  2. 阻塞可以帮助优化连接和按组,但排序合并桶映射有严重的限制,使它也没有效率。这两个表都应该具有相同的存储模式,这在现实生活中是很少见的,或者是非常低效的。此外,在加载桶时,应该对数据进行排序。

考虑使用内置索引和Bloom过滤器的ORC,在表中保留较少的文件,以避免元数据超载,并避免映射器复制数千个文件。阅读这个蜂巢面试问题中的分区和这个蜂巢中的排序表

有用的链接。

正式文件:LanguageManual

Cloudera社区:https://community.cloudera.com/

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

https://stackoverflow.com/questions/61300659

复制
相关文章

相似问题

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