カタログを構成する
大事な
AKS 上の Azure HDInsight は、2025 年 1 月 31 日に廃止されました。 この発表 により、について詳しく学んでください。
ワークロードの突然の終了を回避するには、ワークロードを Microsoft Fabric または同等の Azure 製品 に移行する必要があります。
大事な
この機能は現在プレビュー段階です。 Microsoft Azure プレビューの 追加使用条件 には、ベータ版、プレビュー版、または一般公開されていない Azure 機能に適用される、より多くの法的条件が含まれています。 この特定のプレビューの詳細については、AKS プレビュー情報 Azure HDInsightを参照してください。 ご質問や機能のご提案については、AskHDInsight に詳細を記載してリクエストを送信してください。また、Azure HDInsight Community をフォローして、さらに多くの更新情報を入手してください。
すべてのTrinoクラスターには、システム、tpcds、tpch
など、いくつかのカタログが既定で付属しています。 OSS Trino の場合と同じ方法で、独自のカタログを追加できます。
さらに、AKS 上の HDInsight を使用した Trino では Key Vault にシークレットを格納できるため、ARM テンプレートで明示的に指定する必要はありません。
新しいカタログを追加するには、Hive カタログ以外のクラスター ARM テンプレートを更新します。これは、Azure portal で Trino クラスターの作成 中に追加できます。
この記事では、ARM テンプレートを使用してクラスターに新しいカタログを追加する方法について説明します。 この記事の例では、SQL Server カタログとメモリ カタログを追加する手順について説明します。
前提 条件
- AKS 上の HDInsight を使用した運用 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 サーバーの資格情報は、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 サーバー コネクタを使用して 2 つのカタログを構成します。 カタログ構成は、次の 2 つの異なる方法で指定できます。
- 値のセクションにおけるキーと値のペア。
- コンテンツ プロパティ内の単一の文字列。
メモリ カタログはキーと値のペアを使用して定義され、SQL サーバー カタログは単一の文字列オプションを使用して定義されます。
"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 コンポーネント カタログを構成するセクションを識別します。"カタログ" である必要があります。 ファイル クラスターに追加する Trino カタログ ファイルの一覧。 ファイル名 クラスターに追加する Trino カタログ ファイルの一覧。 コンテンツ json
エスケープされた文字列は Trino カタログファイルに入れられます。 この文字列には、使用されるコネクタの種類に応じて、すべての trino 固有のカタログ プロパティが含まれている必要があります。 詳細については、OSS trino のドキュメントを参照してください。${SECRET_REF:<referenceName>} secretsProfile からシークレットを参照するための特別なタグ。 実行時に Trino が Key Vault からシークレットをフェッチし、カタログ構成に置き換える。 価値観 コンテンツ プロパティを 1 つの文字列として使用し、メモリ カタログに示すように、個々の Trino カタログ プロパティごとに個別のキーと値のペアを使用して、カタログ構成を指定できます。
更新された ARM テンプレートをデプロイして、クラスター内の変更を反映します。 ARM テンプレート デプロイする方法について説明します。