Hive 1.1.0 tez hadoop oracle NULL sort

发布时间:2020-10-18 14:19:40 作者:r7raul
来源:网络 阅读:725

     最近发现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 执行结果如下:

56859 2015-02-15 1 1 449 1

56859 2015-02-15 1 1 6869 2

56859 2015-02-15 1 1 7047 3

56859 2015-02-15 1 1 8628 4

56859 2015-02-15 1 1 11804 5

56859 2015-02-15 1 1 12089 6

56859 2015-02-15 1 1 18778 7

56859 2015-02-15 1 1 25906 8

。。。。

56859 2015-02-15 1 1 191046115 939

56859 2015-02-15 1 1 NULL 940

56859 2015-02-15 1 1 NULL 941

56859 2015-02-15 1 1 NULL 942

56859 2015-02-15 1 1 NULL 943


Hive 执行结果如下:


0 56859 2015-02-15 1 1 NULL 1

1 56859 2015-02-15 1 1 NULL 2

2 56859 2015-02-15 1 1 NULL 3

3 56859 2015-02-15 1 1 NULL 4

4 56859 2015-02-15 1 1 449 5

5 56859 2015-02-15 1 1 6869 6

6 56859 2015-02-15 1 1 7047 7

7 56859 2015-02-15 1 1 8628 8

8 56859 2015-02-15 1 1 11804 9



可见两者对于NULL的排序不一样。


推荐阅读:
  1. Hive基本操作
  2. Hive的底层执行流程

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oracle null order

上一篇:关于Spring注解@Async引发其他注解失效的解决

下一篇:利用jquery和BootStrap实现动态滚动条效果

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》