Hadoop 生态系统 Hive:SQL 执行 (一)
本文主要是记录一些 Hive 的 SQL 语句的特殊之处。
实际问题记录
知识点一:Hive 直接访问非 GROUP BY 字段报错
报错信息提示如下:
复制代码
原因分析和解决
Hive 中不允许直接访问非 GROUP BY 字段,如果需要访问,可以用 collect_set 函数收集这些字段,将该字段的所有值保存在一个数组中,使用下标访问其中的元素[1]。
复制代码
知识点二:Hive 不支持 IN/EXISTS
Hive 不支持 IN,可以采用LEFT SEMI JOIN
来替代[2]。
复制代码
等价于:
复制代码
参考资料
版权声明: 本文为 InfoQ 作者【正向成长】的原创文章。
原文链接:【http://xie.infoq.cn/article/d9f9b9012b9026089c0bc4999】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论