カタログの構成

重要

現在、この機能はプレビュー段階にあります。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない 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 カタログとメモリ カタログを追加する手順について説明します。

前提条件

ARM テンプレートでカタログを追加する手順

  1. 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"
            }
        ]
    },
    
  2. 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 テンプレートをデプロイする方法を確認してください。