常見問題
本文匯總了使用Impala時(shí)的常見問題。
Impala 3.4使用JDBC查詢Impala 10秒提示會話超時(shí),該怎么辦?
您可以在Impala控制臺通過命令設(shè)置FETCH_ROWS_TIMEOUT_MS參數(shù)為0,指定會話永不過期。命令示例如下所示。
jdbc:impala://impala-hive.ymt.io:21050/ymtcube;FETCH_ROWS_TIMEOUT_MS=0
Impala無法找到Hive新增的表,該怎么辦?
在Impala之外操作元數(shù)據(jù)后,您可以在Impala控制臺通過使用命令I(lǐng)NVALIDATE METADATA,以刷新全庫或者某個(gè)表的元數(shù)據(jù)。
Impala寫入Hive表數(shù)據(jù)的時(shí)候,是否可以修改寫入文件的owner?
使用Impala寫入的表文件的owner默認(rèn)為Impala,暫不支持修改。
如何調(diào)整Impalad可使用的節(jié)點(diǎn)內(nèi)存總量?
您可以在EMR控制臺Impala服務(wù)的配置頁簽,在搜索區(qū)域搜索mem_limit參數(shù),默認(rèn)值為80%,表示允許使用本機(jī)內(nèi)存的80%來計(jì)算。您也可以配置為具體的內(nèi)存大小,例如10G
。
如何限制單條查詢語句消耗內(nèi)存的大小?
可以使用SQL語句set MEM_LIMIT=Xg
限制,在該語句Session范圍內(nèi)生效。
如何提升非JOIN語句的查詢效率?
對于單條沒有JOIN的查詢語句,您可以在Impala控制臺通過命令設(shè)置mt_dop參數(shù)為n以提升并發(fā)度,其中n為每臺機(jī)器的并發(fā)度。
Ranger開啟Impala后,新擴(kuò)容的Impala節(jié)點(diǎn)無法正常工作,該怎么辦?
問題現(xiàn)象:EMR-5.6.0及之前的版本,在EMR控制臺上Ranger開啟Impala并擴(kuò)容節(jié)點(diǎn)后,新擴(kuò)容的Impala節(jié)點(diǎn)無法正常工作。
問題分析:開啟Ranger會將Ranger相關(guān)配置文件復(fù)制到各個(gè)Impalad的配置中,使Impala支持Ranger。然而,在擴(kuò)容時(shí)未觸發(fā)此操作,導(dǎo)致新擴(kuò)容的節(jié)點(diǎn)缺少Ranger相關(guān)配置,從而無法正常工作。
解決方法:您可以通過以下兩種方式處理。
方式一:在EMR控制臺中的Ranger服務(wù)的狀態(tài)頁簽中,選擇RangerAdmin操作列的
,重新執(zhí)行enableImpala的操作。方式二:登錄集群的emr-header-1節(jié)點(diǎn),將
/etc/ecm/impala-conf
目錄下的ranger-hive-audit.xml
、ranger-hive-security.xml
、ranger-policymgr-ssl.xml
、ranger-security.xml
四個(gè)文件復(fù)制到新擴(kuò)容節(jié)點(diǎn)的/etc/ecm/impala-conf
目錄下。