对于 HIVE 查询,Is OR 提供比 IN 更好的性能

Posted

技术标签:

【中文标题】对于 HIVE 查询,Is OR 提供比 IN 更好的性能【英文标题】:Is OR gives better performance than IN for HIVE queries 【发布时间】:2018-11-20 12:38:12 【问题描述】:

我在 Hive 中有以下两个查询以获得一些特定的结果。

select * from table1 where col1 IN (a, b, c)
select * from table1 where col1=a OR col1=b OR col1=c

据我了解,IN 将在内部转换为 OR 序列。 在 spark-sql 中本地执行,但没有发现任何性能差异(如执行时间、过滤数据扫描等)。 那么我们可以根据功能在 IN 和 OR 中看到什么区别。 任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:
Col1 in (a,b,c) is a macro that expands to Col1=a or Col1=b or Col1=c.

没有性能差异

【讨论】:

如果您提供参考(来源、文档),这将更有价值。

以上是关于对于 HIVE 查询,Is OR 提供比 IN 更好的性能的主要内容,如果未能解决你的问题,请参考以下文章

运行hive提示Name node is in safe mode.错误

Hive异常 -- Cannot create directory /tmp/hive. Name node is in safe mode.

hive启动报错 Name node is in safe mode.

黑猴子的家:Hive 本地模式

问题随记 —— Cannot create directory /tmp/hive. Name node is in safe mode.

对于大型数据集的查询,日期类型是不是比日期时间更高效?