カタログの構成
重要
現在、この機能はプレビュー段階にあります。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用されるその他の法律条項については、「Microsoft Azure プレビューの追加の使用条件」に記載されています。 この特定のプレビューについては、Azure 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 テンプレートをデプロイする方法を確認してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示