Hive1.1.0tezhadooporacleNULLsort
最近发现hive 0.14 运行在tez的时候有不少bug,决定升级hive为hive 1.1.0,因为集群hadoop版本是2.3.0,一不小心踩到坑:
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了繁峙免费建站欢迎大家使用!
1、hive 1.1.0 需要jdk1.7以上
2、设置这个环境变量 HADOOP_USER_CLASSPATH_FIRST="true"
3、https://issues.apache.org/jira/browse/HIVE-9957 打上这个patch,此patch将在hive1.2.0中集成。编译hive 1.1.0源码后把 hive-shims-0.23-1.1.0.jar 替换了。最后记得还要替换hive-exec-1.1.0.jar中的Hadoop23Shims.class
另外提一点对于NULL的排序,hive与oracle有所不同,对于如下SQL:
SELECT
t.chanl_id,
t.date_id,
t.pltfm_id,
t.prov_id,
t.old_mbr_num,
ROW_NUMBER () OVER (partition by t.date_id ORDER BY t.old_mbr_num) ROW_NUMBER
FROM
data t;
Oracle 执行结果如下:
568592015-02-15114491
568592015-02-151168692
568592015-02-151170473
568592015-02-151186284
568592015-02-1511118045
568592015-02-1511120896
568592015-02-1511187787
568592015-02-1511259068
。。。。
568592015-02-1511191046115939
568592015-02-1511NULL940
568592015-02-1511NULL941
568592015-02-1511NULL942
568592015-02-1511NULL943
Hive 执行结果如下:
0568592015-02-1511NULL1
1568592015-02-1511NULL2
2568592015-02-1511NULL3
3568592015-02-1511NULL4
4568592015-02-15114495
5568592015-02-151168696
6568592015-02-151170477
7568592015-02-151186288
8568592015-02-1511118049
可见两者对于NULL的排序不一样。
当前名称:Hive1.1.0tezhadooporacleNULLsort
网页链接:http://pwwzsj.com/article/ppoiji.html