您好,登錄后才能下訂單哦!
最近發現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的排序不一樣。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。