我需要比较 Oracle 和 Hadoop(Hive) 中的索引。到目前为止,我可以在 Hive 中找到两种主要的索引技术,即 COMPACT INDEXING 和 BITMAP INDEXING。我可以检查 Hive 中 COMPACT INDEXING 与 Oracle 相比的性能差异。我需要了解更多在 Hive 中使用位图索引的用例/场景。另外,需要知道 Hive 是否像 Oracle 一样支持反向键索引、升序和降序索引。
最佳答案
- 是的,他们在 HIVE 中使用索引比 oracle,请记住 HIVE 适用于大型数据集和 然而他们在使 HIVE 成为实时数据方面取得了进展 仓储工具。
- 可以使用 BITMAP 索引的一个用例是表 具有不同值的列,显然它应该很大 表格(如果表格很大,你会得到更好的结果,不要测试 有小 table )。
- 截至目前,HIVE 仅支持两种索引技术 COMPACT 和 用于显式创建索引的 BITMAP。
- 也不推荐在 Hive 中使用索引(尽管您可以创建为 根据您的用例),原因是 ORC Format .
ORC 格式内置索引,允许格式跳过 block 读取数据时,它们还支持布隆过滤器索引。一起 这几乎复制了 Hive Indexes 所做的并且他们做到了 自动在数据格式,而不需要管理 外部表(本质上就是索引中发生的事情)。
我建议您花时间正确设置 ORC 表。
另请阅读这篇关于 hive indexing 的精彩文章.
关于oracle - 与 Oracle 相比,在 Hadoop 中的表上使用索引有什么优势吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41341942/