本文描述在 Azure HDInsight 叢集中使用 Interactive Query 元件時的問題疑難排解步驟及可能的解決方案。
問題
Apache Hive 聯結的預設行為是將資料表中所有內容載入記憶體,讓聯結不必執行 Map/Reduce 步驟就能執行。 但如果 Hive 資料表過大無法放入記憶體,查詢便可能會失敗。
原因
在擁有足夠大小的 Hive 中執行聯結時,會發生下列錯誤:
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded error.
解決方法
設定下列 Hive 設定值,藉此防止 Hive 將資料表載入聯結上的記憶體 (改為執行 Map/Reduce 步驟):
hive.auto.convert.join=false
下一步
如果設定這個值無法解決問題,請參考下列任一做法。
透過 Azure 社群支援獲得由 Azure 專家所提供的解答。
與 @AzureSupport 連繫:專為改善客戶體驗而設的官方 Microsoft Azure 帳戶,可協助 Azure 社群連接至適當的資源,例如解答、支援及專家。
如果需要更多協助,您可在 Azure 入口網站提交支援要求。 從功能表列中選取 [支援] 或開啟 [說明 + 支援] 中樞。 如需詳細資訊,請參閱如何建立 Azure 支援要求。 Microsoft Azure 訂用帳戶包括訂用帳戶管理及帳務支援的存取權,而技術支援由其中一項 Azure 支援方案提供。