2018年7月10日 星期二

Hive常見問題及處理方法






  1. Hive是什麼

  2. Hive是基於Hadoop的一個數據倉庫工具,應該是整個Hadoop系統中最常使用的一個功能組件,通過內部的關係型元資料庫,將存儲在hdfs中的文件有效的管理起來,並提供類SQL的資料庫操作語言,滿足大數據集的統計分析工作。關於Hive的架構原理和基本操作部分.

  3. Hive操作中常見的問題及處理方法

  4. 1)如何在腳本中嵌入hive操作語句

  5. 命令:hive -e 「語句塊」

  6. 案例:

  7. hive -e 「set io.sort.mb=10; select did,mac,made,count(*) from table_name where date between 『2016-06-01』 and 『2016-06-30』 and io =』in』 and (did is not null and did」) group by did,mac,made 」

  8. 說明:語句塊中,各個語句之間用分號分隔

  9. 2)大數據集情況下,hive查詢提示」 Java heap space」錯誤

  10. 解決辦法:調整hive的io.sort.mb參數(默認值為100),使其值在10-80之間

  11. 命令:set io.sort.mb=10

  12. 3)Hive中空值處理

  13. hive中空值有兩種形態:null 和』 『,其存儲規則為:若欄位類型為string,則null的存儲值為N, 』 『的存儲值為本身,其他欄位類型如int的存儲值均為N;對於string類型,條件is null 查出來的是N的數據;而條件 =』』,查詢出來的是」「的數據

  14. hive可自定義字元來表示null,比如用』 『表示null,實現空值的存儲統一.

  15. 命令如下:

  16. alter table tab_name set serdeproperties(『serialization.null.format』=」)

  17. 空值條件查詢(針對字元串):

  18. select b.id,b.name from b where b.name』』 and b.name is not null;

  19. 4)查看hive表數據的存儲路徑

  20. 指令:show create table table_name;

  21. 實例:

  22. (https://img-blog.csdn.net/20170915151428947?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenlsb3ZlMjAxMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

  23. 5)Load hdfs文件時報SemanticException [Error 10028]錯誤

  24. 原因說明:Line 1:17 Path is not legal,Please check that values for params 「default.fs.name」 and 「hive.metastore.warehouse.dir」 do not conflict.

  25. hive配置文件被更改導致

  26. 解決辦法:Load 文件時,添加Path的絕對路徑即可,且主機IP需用別名。

  27. load data inpath 『hdfs://master1:9000/home/liuh3/router_mac/part-00000』 into table router_m;

  28. 後續遇到新的問題再補充。。

Hive常見問題及處理方法


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

myeclipse中將整塊的代碼所選中的代碼左右移動的快捷鍵
代碼實現順序表的操作函數


TAG:程序員小新人學習 |






http://www.kubonews.com/2018071024608.html

心情煩悶需要新鮮事刺激一下嗎?請上:http://www.kubonews.com

沒有留言:

張貼留言