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://myzitong.com/article/ppoiji.html