カタログの構成
Note
Azure HDInsight on AKS は 2025 年 1 月 31 日に廃止されます。 2025 年 1 月 31 日より前に、ワークロードを Microsoft Fabric または同等の Azure 製品に移行することで、ワークロードの突然の終了を回避する必要があります。 サブスクリプション上に残っているクラスターは停止され、ホストから削除されることになります。
提供終了日までは基本サポートのみが利用できます。
重要
現在、この機能はプレビュー段階にあります。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用されるその他の法律条項については、「Microsoft Azure プレビューの追加の使用条件」に記載されています。 この特定のプレビューについては、「Microsoft HDInsight on AKS のプレビュー情報」を参照してください。 質問や機能の提案については、詳細を記載した要求を AskHDInsight で送信してください。また、その他の更新情報については、Azure HDInsight コミュニティをフォローしてください。
すべての Trino クラスターには、システム、tpcds、tpch
など、いくつかのカタログが既定で付属しています。 OSS Trino の場合と同じ方法で、独自のカタログを追加できます。
さらに、Trino と HDInsight on AKS を使うと Key Vault にシークレットを格納できるため、ARM テンプレートでシークレットを明示的に指定する必要はありません。
新しいカタログは、クラスター ARM テンプレートを更新して追加できます。ただし、Hive カタログは、Azure portal で Trino クラスターの作成中に追加できます。
この記事では、ARM テンプレートを使用してクラスターに新しいカタログを追加する方法について説明します。 この記事の例では、SQL Server カタログとメモリ カタログを追加する手順について説明します。
前提条件
- 操作可能な HDInsight on AKS を使用した Trino クラスター。
- Azure SQL データベース。
- Azure SQL Server のログイン/パスワードは、Key Vault シークレットに格納され、それらを読み取るアクセス許可が付与された Trino クラスターには、ユーザー割り当て MSI がアタッチされます。 Key Vault に資格情報を格納し、MSI にロールを割り当てる方法を参照してください。
- クラスター用の ARM テンプレートを作成する。
- ARM テンプレートの作成とデプロイに関する知識。
- 完全なクラスター ARM テンプレートの例 arm-trino-catalog-sample.json を確認します。
ARM テンプレートでカタログを追加する手順
Key Vault をアタッチし、
clusterProfile
プロパティの下のsecretsProfile
にシークレットを追加します。この手順では、Key Vault とシークレットが 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" } ] },
clusterProfile
プロパティの下のserviceConfigsProfiles
にカタログを追加します。この手順では、クラスターに Trino 固有のカタログ構成を追加する必要があります。 次の例では、メモリ コネクタと SQL Server コネクタを使用して、2 つのカタログを構成します。 カタログ構成は、次の 2 つの異なる方法で指定できます。
- 値セクション内のキーと値のペア。
- コンテンツ プロパティ内の単一の文字列。
メモリ カタログは、キーと値のペアを使用して定義され、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" }, ] } ] } ],
[プロパティ]
Property 説明 serviceName trino コンポーネント カタログを構成するセクションを識別します。"catalogs" である必要があります。 files クラスターに追加される Trino カタログ ファイルの一覧。 filename クラスターに追加される Trino カタログ ファイルの一覧。 content trino カタログ ファイルに格納する json
エスケープ文字列。 この文字列には、使用されるコネクタの種類に応じて、すべての trino 固有のカタログ プロパティが含まれている必要があります。 詳細については、OSS Trino のドキュメントを参照してください。${SECRET_REF:<referenceName>} secretsProfile からシークレットを参照するための特別なタグ。 Trino は、実行時に Key Vault からシークレットをフェッチし、カタログ構成で置き換えます。 値 コンテンツ プロパティを単一の文字列として使用するか、メモリ カタログに示すように個々の Trino カタログ プロパティごとに個別のキーと値のペアを使用して、カタログ構成を指定できます。
更新した ARM テンプレートをデプロイして、クラスターに変更を反映します。 ARM テンプレートをデプロイする方法を確認してください。