設定目錄
重要
此功能目前為預覽功能。 適用於 Microsoft Azure 預覽版的補充使用規定包含適用於 Beta 版、預覽版或尚未發行至正式運作之 Azure 功能的更合法條款。 如需此特定預覽的相關信息,請參閱 AKS 預覽資訊的 Azure HDInsight。 如需問題或功能建議,請在 AskHDInsight 上提交要求,並提供詳細數據,並遵循我們在 Azure HDInsight 社群上取得更多更新。
每個 Trino 叢集預設都會隨附幾個目錄 - 系統、tpcds、 tpch
。 您可以使用 OSS Trino 相同的方式新增自己的目錄。
此外,在 AKS 上使用 HDInsight 的 Trino 允許將秘密儲存在 金鑰保存庫,因此您不需要在 ARM 範本中明確指定秘密。
您可以藉由更新叢集 ARM 範本來新增目錄,但 hive 目錄除外,您可以在 Azure 入口網站 中建立 Trino 叢集期間新增此類別目錄。
本文示範如何使用 ARM 範本,將新的目錄新增至叢集。 本文中的範例說明新增 SQL Server 和記憶體目錄的步驟。
必要條件
- 在 AKS 上使用 HDInsight 的作業 Trino 叢集。
- Azure SQL 資料庫。
- Azure SQL Server 登入/密碼會儲存在 金鑰保存庫 秘密中,以及附加至您 Trino 叢集的使用者指派 MSI 授與讀取許可權。 請參閱將認證儲存在 金鑰保存庫,並將角色指派給 MSI。
- 為您的叢集建立 ARM範本 。
- 熟悉 ARM 範本撰寫和部署。
- 檢閱完整的叢集 ARM 範例 arm-trino-catalog-sample.json。
在 ARM 範本中新增目錄的步驟
附加 金鑰保存庫 並將秘密新增至
secretsProfile
屬性底下clusterProfile
。在此步驟中,您必須確定已針對 Trino 叢集設定 金鑰保存庫 和秘密。 在下列範例中,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" }, ] } ] } ],
屬性
屬性 說明 serviceName trino component 識別該區段設定目錄,必須是「目錄」。 files 要新增至叢集的 Trino 目錄檔案清單。 filename 要新增至叢集的 Trino 目錄檔案清單。 content json
要放入 Trino 目錄檔案的逸出字串。 此字串應包含所有三個特定類別目錄屬性,視使用的連接器類型而定。 如需詳細資訊,請參閱 OSS Trino 檔。${SECRET_REF:<referenceName>} 從 secretsProfile 參考秘密的特殊標記。 運行時間的 Trino 會從 金鑰保存庫 擷取秘密,並在類別目錄組態中取代它。 值 您可以使用內容屬性做為單一字串來指定目錄組態,並針對每個個別的 Trino 目錄屬性使用個別的索引鍵/值組,如記憶體目錄所示。
部署更新的 ARM 範本,以反映叢集中的變更。 瞭解如何 部署ARM範本。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應