一:如果是 hive 0.13版本之后是可以使用 hive in的
HIVE 0.13 之后,有子查询
IN 写法
SELECT *
FROM A.A_TABLE A WHERE R_SE = 'C' AND A.O_CODE
IN (SELECT O_CODE FROM B.B_TABLE B
AND CODE = 'M111'
)
特别需要注意的是 IN 前面字段的表名不能省略,不然会报错
半连接 EXISTS 写法
EXPLAIN
SELECT *
FROM A.A_TABLE A WHERE R_SE = 'C' AND EXISTS (SELECT 1 FROM B.B_TABLE B
WHERE A.O_CODE = B.O_CODE
AND CODE = 'M111'
)
二、安装好的CDH如果查看hive的版本呢
1、官网
2、管理界面中
官网查看一般看到的都是CDH系统默认自带的版本,如果你的CDH在运行的过程中升级过,那再参考官网的版本就会出现错误。
http://www.cloudera.com/documentation/enterprise/release-notes/topics/cdh_vd_cdh5_maven_repo_55x.html#concept_xxt_m11_d5
如果是在linux 中
如何查看当前hive版本号
方法一
查看jar包版本:
whereis hive 获取 hive位置
查看hive的jar包版本
方法二
进入hive客户端 通过log查看当前hive的版本。
下面说说如何在CM界面中查看版本:
1、点服务
2、选择主要的服务
3、选择这个服务的主机
4 .选择组件
5、找到服务版本
hive 如果使用in报错大多数都是版本问题