如何結合 Apache Spark™ 叢集使用 Hive Metastore
重要
AKS 上的 Azure HDInsight 於 2025 年 1 月 31 日淘汰。 透過此公告 深入瞭解。
您必須將工作負載移轉至 Microsoft Fabric 或對等 Azure 產品,以避免突然終止工作負載。
重要
這項功能目前為預覽狀態。 Microsoft Azure 預覽版的補充使用規定 包含適用於 Beta 版、預覽版或尚未正式發行之 Azure 功能的更合法條款。 如需關於 Azure HDInsight on AKS 特定預覽的資訊,請參閱 。 如有問題或功能建議,請在 AskHDInsight 提交請求,並追蹤我們以取得 Azure HDInsight 社群的更多的更新。
在多個服務之間共享數據和中繼存放區是不可或缺的。 HIVE 中繼存放區中常用的中繼存放區之一。 AKS 上的 HDInsight 可讓用戶連線到外部中繼存放區。 此步驟可讓 HDInsight 用戶順暢地連線到生態系統中的其他服務。
AKS 上的 Azure HDInsight 支援自定義中繼存放區,建議用於生產叢集。 涉及的關鍵步驟包括
- 建立 Azure SQL 資料庫
- 建立用來儲存認證的金鑰保存庫
- 使用 Apache Spark™ 在 AKS 叢集上建立 HDInsight 時設定中繼存放區
- 在外部中繼存放區上操作(顯示資料庫並執行選擇,限制為 1)。
當您建立叢集時,HDInsight 服務必須連線到外部中繼存放區,並驗證您的認證。
建立 Azure SQL 資料庫
建立或擁有現有的 Azure SQL Database,再設定 HDInsight 叢集的自定義 Hive 中繼存放區。
注意
目前,我們僅支持適用於HIVE中繼存放區的 Azure SQL Database。 由於Hive限制,不支援中繼存放區資料庫名稱中的 “-” (連字元) 字元。
建立用來儲存認證的金鑰保存庫
建立 Azure Key Vault。
Key Vault 的目的是讓您在 SQL 資料庫建立期間儲存 SQL Server 管理員密碼集。 AKS 平臺上的 HDInsight 不會直接處理認證。 因此,您必須將重要認證儲存在 Azure Key Vault 中。 瞭解建立 Azure Key Vault的步驟。
建立 Azure Key Vault 之後,請指派下列角色
物件 角色 備註 使用者指派的受控識別(HDInsight 叢集所使用的相同 UAMI) Key Vault 機密用戶 瞭解如何 將角色指派給UAMI 使用者(在 Azure Key Vault 中建立機密的人員) Key Vault 系統管理員 瞭解如何 將角色指派給使用者。 注意
如果沒有此角色,用戶就無法建立秘密。
-
此步驟可讓您將 SQL Server 管理員密碼保留為 Azure Key Vault 中的秘密。 在新增密碼時,在 [值] 字段中新增密碼(與 SQL DB for admin 中提供的密碼相同)。
注意
請務必記下秘密名稱,因為您在建立叢集期間需要此名稱。
建立 HDInsight Spark 叢集時設定中繼存放區
流覽至 AKS 叢集集區上的 HDInsight 以建立叢集。
啟用切換開關以新增外部 Hive 資料中繼存放區,並填入下列詳細資訊。
其餘詳細數據會根據 AKS 上的 HDInsight 中的 apache Spark 叢集 叢集建立規則填入,。
點擊 檢閱和建立。
注意
- 中繼存放區的生命週期不會系結至叢集生命週期,因此您可以建立和刪除叢集,而不會遺失元數據。 即使您刪除並重新建立 HDInsight 叢集之後,Hive 架構之類的元數據仍會保存。
- 自訂中繼存放區可讓您將多個叢集和叢集類型附加至該中繼存放區。
在外部中繼資料儲存庫上運作
建立數據表
>> spark.sql("CREATE TABLE sampleTable (number Int, word String)")
在數據表上新增數據
>> spark.sql("INSERT INTO sampleTable VALUES (123, \"HDIonAKS\")");\
讀取數據表
>> spark.sql("select * from sampleTable").show()
參考
- Apache、Apache Spark、Spark 和相關開放原始碼專案名稱 是 Apache Software Foundation (ASF) 商標。