設定目錄
注意
AKS 上的 Azure HDInsight 將於 2025 年 1 月 31 日退場。 請於 2025 年 1 月 31 日之前,將工作負載移轉至 Microsoft Fabric 或對等的 Azure 產品,以免工作負載突然終止。 訂用帳戶中剩餘的叢集將會停止,並會從主機移除。
在淘汰日期之前,只有基本支援可用。
重要
此功能目前為預覽功能。 Microsoft Azure 預覽版增補使用規定包含適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的更多法律條款。 若需此特定預覽版的相關資訊,請參閱 Azure HDInsight on AKS 預覽版資訊。 如有問題或功能建議,請在 AskHDInsight 上提交要求並附上詳細資料,並且在 Azure HDInsight 社群上追蹤我們以獲得更多更新資訊。
每個 Trino 叢集預設會隨附幾個目錄 - 系統、tpcds、tpch
。 您可以如同使用 OSS Trino 同樣的方式新增自己的目錄。
此外,具有 AKS 上 HDInsight 的 Trino 可讓您將秘密儲存在 Key Vault 中,因此您不需要在 ARM 範本中明確指定它們。
您可以藉由更新叢集 ARM 範本來新增新目錄,但 hive 目錄除外 (您可以在 Azure 入口網站中 Trino 叢集建立期間新增該目錄)。
本文示範如何使用 ARM 範本將新目錄新增至叢集中。 本文中的範例說明新增 SQL Server 和記憶體目錄的步驟。
必要條件
- 在 AKS 上具有 HDInsight 的作業 Trino 叢集。
- Azure SQL database。
- Azure SQL Server 登入/密碼會儲存在 Key Vault 秘密中,而連結至 Trino 叢集的使用者指派 MSI 會獲授與讀取它們的權限。。 請參閱將認證儲存在 Key Vault 中,並將角色指派至 MSI。
- 為您的叢集建立 ARM 範本。
- 熟悉 ARM 範本製作和部署。
- 檢閱完整叢集 ARM 範本範例 arm-trino-catalog-sample.json。
在 ARM 範本中新增目錄的步驟
連結 Key Vault 並將秘密新增至
clusterProfile
屬性下的secretsProfile
。在此步驟中,您必須確定已針對 Trino 叢集設定 Key Vault 和秘密。 在下列範例中,SQL Server 認證會儲存在這些秘密中:trinotest-admin-user, trinotest-admin-pwd。
"secretsProfile": { "keyVaultResourceId": "/subscriptions/{USER_SUBSCRIPTION_ID}/resourceGroups/{USER_RESOURCE_GROUP}/providers/Microsoft.KeyVault/vaults/{USER_KEYVAULT_NAME}", "secrets": [ { "referenceName": "trinotest-admin-user", "keyVaultObjectName": "trinotest-admin-user", "type": "secret" }, { "referenceName": "trinotest-admin-pwd", "keyVaultObjectName": "trinotest-admin-pwd", "type": "secret" } ] },
將目錄新增至
clusterProfile
屬性下的serviceConfigsProfiles
。在此步驟中,您必須將 Trino 特定的目錄組態新增至叢集中。 下列範例會使用記憶體和 SQL Server 連接器來設定兩個目錄。 目錄組態可以透過兩種不同的方式指定:
- 值區段中的機碼值組。
- 內容屬性中的單一字串。
記憶體目錄是使用機碼值組來定義,而 SQL Server 目錄是使用單一字串選項來定義。
"serviceConfigsProfiles": [ { "serviceName": "trino", "configs": [ { "component": "catalogs", "files": [ { "fileName": "memory.properties", "values": { "connector.name": "memory", "memory.max-data-per-node": "128MB" } }, { "fileName": "trinotestdb1.properties", "content":"connector.name=sqlserver\nconnection-url=jdbc:sqlserver://server-name.database.windows.net:1433;database=db1;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;\nconnection-user=${SECRET_REF:trinotest-admin-user}\nconnection-password=${SECRET_REF:trinotest-admin-pwd}\n" }, ] } ] } ],
屬性
屬性 說明 serviceName Trino component 識別該區段設定目錄,必須是「目錄。」 files 要新增至叢集的 Trino 目錄檔案清單。 filename 要新增至叢集的 Trino 目錄檔案清單。 content 要置放於 trino 目錄檔案中的 json
逸出字串。 此字串應包含所有 trino 特定的目錄屬性,這會視使用的連接器類型而定。 如需詳細資訊,請參閱 OSS trino 文件。${SECRET_REF:<referenceName>} 從 secretsProfile 參考秘密的特殊標籤。 於執行階段的 Trino 會從 Key Vault 擷取秘密,並在目錄組態中取代它。 值 可以使用內容屬性作為單一字串來指定目錄組態,並為每個個別的 Trino 目錄屬性使用單獨的機碼值組,如記憶體目錄所示。
部署更新的 ARM 範本以反映叢集中的變更。 了解如何部署 ARM 範本。