2014-10-02 102 views
-1

我使用Hadoop 2.4.0 Hortonworks蜂巢命令行通過Cygwin的選擇查詢錯誤

我相當新的Hadoop和現在使用的色相/蜂蠟跑我這做工精細標準查詢,不過,我現在需要開始創建基本的shell腳本來完成稍微複雜的查詢。由於我在Win7機器上,我安裝了Cygwin並使用SSH連接到Hadoop服務器。當嘗試一個簡單的測試查詢我得到以下錯誤: -

hive -e "select actual_date from dm.date_dim limit 10" 

AccessControlException: User blah cannot submit applications to queue root.default 

在別人的建議下,我第一次嘗試改變隊列名稱: -

set mapred.job.queuename=foo 

注意的是,如果我運行相同的查詢但選擇所有,即所以不需要MapReduce作業,查詢成功: -

hive -e "select * from dm.date_dim limit 10" 

我的IT部門和其他內部shell腳本的開發人員正在對這一響應速度很慢(多天)所以有什麼,你可以建議我應該檢查或嘗試。我被告知,如果更改隊列名稱已經工作,那麼我可以把它放在我的.hiverc文件中,我不確定它在哪裏。

這是一個權限的事情?我應該配置別的東西嗎?

我很感激任何幫助,但請注意,我只是最近纔開始學習Linux,因此您可能需要婉拒任何迴應。

回答

1

您的組織必須指定一些隊列來將羣集資源分配給多個團隊。因此,如果不指定作業隊列,則除「select *」之外的任何查詢都不會運行。所以,當你運行蜂巢查詢只需添加這個配置和您的查詢將運行:

hive -hiveconf mapred.job.queue.name=foo -e "select actual_date from dm.date_dim limit 10" 
+0

是的,當我被獲准進入命令行中我得到任何的設置沒有意見。最後給出以下內容放入.hiverc文件中 set dfs.umaskmode = 002; set mapred.job.queue.name = foo; set hive.stats.autogather = false; set hive.cli.print.current.db = true; – Darybrain 2014-11-09 16:13:17