設定目錄
重要
AKS 上的 Azure HDInsight 於 2025 年 1 月 31 日淘汰。 透過此公告 深入瞭解。
您必須將工作負載移轉至 Microsoft Fabric 或對等 Azure 產品,以避免突然終止工作負載。
重要
這項功能目前為預覽狀態。 Microsoft Azure 預覽版的補充使用規定 包含適用於 Beta 版、預覽版或尚未正式發行之 Azure 功能的更合法條款。 如需此特定預覽的相關信息,請參閱 AKS 上的 Azure HDInsight 預覽信息。 如需問題或功能建議,請提交要求 AskHDInsight,並關注我們以獲取 Azure HDInsight 社群 的最新更新。
每個 Trino 叢集預設會隨附幾個目錄 - 系統、tpcds、tpch
。 您可以使用 OSS Trino 相同的方式新增自己的目錄。
此外,在 AKS 上使用 HDInsight 的 Trino 允許將秘密儲存在 Key Vault 中,因此您不需要在 ARM 範本中明確指定秘密。
您可以藉由更新叢集 ARM 範本來新增目錄,但不包含 Hive 目錄;Hive 目錄您可以在 Azure 入口網站中 建立 Trino 叢集 時新增。
本文示範如何使用 ARM 範本,將新的目錄新增至叢集。 本文中的範例說明新增 SQL Server 和記憶體目錄的步驟。
先決條件
- 在 AKS 上使用 HDInsight 的運作中的 Trino 叢集。
- Azure SQL 資料庫。
- Azure SQL 伺服器的登入資訊和密碼儲存在 Key Vault 機密中,附加於您 Trino 叢集的使用者指派 MSI 獲授讀取這些資料的許可權。 參閱 ,在 Key Vault 中儲存憑證,並將角色指派給 MSI。
- 為叢集建立 ARM 範本。
- 熟悉 ARM 範本撰寫和部署。
- 檢閱完整的叢集 ARM 樣本範例 arm-trino-catalog-sample.json。
在 ARM 範本中新增目錄的步驟
附加 Key Vault 並將秘密新增至
secretsProfile
在clusterProfile
屬性下。在此步驟中,您必須確定已針對 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" } ] },
將目錄新增至
serviceConfigsProfiles
,位於clusterProfile
屬性下。在此步驟中,您必須將 Trino 特定的目錄組態新增至叢集。 下列範例會使用記憶體和 SQL Server 連接器來設定兩個目錄。 目錄組態可以透過兩種不同的方式指定:
- 在 values 區段中的鍵值對。
- content 屬性中的單一字串。
記憶體目錄是使用索引鍵/值組來定義,而 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" }, ] } ] } ],
屬性
財產 描述 服務名稱 trino 元件 識別該區段設定目錄,必須是「目錄」。 檔案 要新增至叢集的 Trino 目錄檔案清單。 檔名 要新增至叢集的 Trino 目錄檔案清單。 內容 json
逸出字串,以放入 trino 目錄檔案中。 這個字串應該包含所有 Trino 特定的目錄屬性,並取決於所使用的連接器類型。 如需詳細資訊,請參閱 OSS Trino 檔。${SECRET_REF:<referenceName>} 從secretsProfile 參照機密的特定標籤。 Trino 在運行時會從 Key Vault 擷取機密資訊,並將其替換到目錄配置中。 價值觀 您可以使用內容屬性做為單一字串來指定目錄組態,並針對每個個別的 Trino 目錄屬性使用個別的索引鍵/值組,如記憶體目錄所示。
部署更新的 ARM 範本,以反映叢集中的變更。 瞭解如何 部署 ARM 範本。