1. 如何在hive的shell中使用hadoop shell 和linux的命令
其實把hive做到shell裡面最大的優勢是可以定時執行,比如之前做一個論壇用戶日誌分析的時候,需要定時對hive導入數據,並在hive裡面對數據做預處理,最後把hive處理的數據導入到hbase中 這樣的實現起來用java顯然就沒有用shell有優勢,因為shell寫好了丟那 執行linux定時任務就好了,但是shell有個明顯的缺陷就是不靈活,不能根據需求和功能做靈活調用,這時候做到java裡面就比用shell寫死的好很多,比如做即時需求,點某個功能按鍵的時候就需要跑hive,明顯就是java更好嘛
2. 如何查看hivesql里執行了哪些查詢
思路
當我們在終端下執行命令「hive」後,會看到有如下輸出:
Hive有會話(Session)的概念,而這次會話中的所有日誌消息將會輸出到這個日誌文件中,包含SQL語句的執行日誌,查看這個日誌文件可以看到以下信息:
3. 如何查看當前hive版本號
hive沒有直接查詢當前版本的操作,不過我們可以通過查詢 jar包的方式間接知道當前hive的版本.
[root@h3~]#hive
當前版本為: 1.1.0-cdh5.10.0
4. 怎麼查看hive用的是mysql還是別的資料庫的命令
怎麼查看hive用的是mysql還是別的資料庫的命令
1
進入HIVE之前要把HADOOP給啟動起來,因為HIVE是基於HADOOP的。所有的MR計算都是在HADOOP上面進行的。
2
在命令行中輸入:hive。這個時候就可以順利的進入HIVE了。當然了,如果你想直接執行HQL腳本文件可以這樣:hive -f xxxxx.hql。
3
進入hive之後一一般默認的資料庫都是default。如果你切換資料庫的話所建的表都會是在default資料庫裡面。
5. hive shell的歷史記錄怎麼清除
1、建立一個文件來存儲常用命令,例如/root/history.txt,把常用命令當成文本寫進去,每個命令佔一行 2、在終端運行history -c,清除雜亂的歷史記錄 3、運行history -r /root/history.txt,把命令讀進來作為當前bash的歷史記錄
6. hive怎麼實現update操作
1、要想使用Hive首先需要啟動hadoop,因為hive的使用是依賴於hadoop的hdfs文件系統以及MapRece計算的,下圖是啟動hadoop,如下圖。
7. hive 和 beeline 命令的區別
HIVE的配置文件里hive.server2.long.polling.timeout這個參數是5000L,在運行時HIVE解析報錯,我感覺這是一個通病,所有人應該都會遇到,在GOOGLE里找到的,不知道大神們是沒遇到,還是不屑一顧,把5000l該成5000就行
8. 1個hive命令生成幾個JOB
這個取決於你的hql裡面到底涉及到多少運算語句。
通常對一個表格的一次處理就會有一個job
如果你的命令里有join on這種,涉及多個查詢,組合,那就會有多個job
9. hive起不來,命令行輸hive時,報錯信息如下:
可以再/hive/bin目錄下輸入 hive -hiveconf hive.root.logger=debug,console 然後再輸入你報錯的hql語句,會有更詳細的錯誤提示,這個調試模式很管用的,希望能幫上。
10. 執行hive命令時沒有反應
1 首先要看一下Hive服務正常起來沒。
2 看一下hive配置的Xml文件是否配置正確。
希望把xml發上來 說一下具體配置的細節、才能定位問題