次の方法で共有


Delta Lake カタログを構成する

大事な

AKS 上の Azure HDInsight は、2025 年 1 月 31 日に廃止されました。 このお知らせ を使って詳細についてもっと学んでください。

ワークロードの突然の終了を回避するには、ワークロードを Microsoft Fabric または同等の Azure 製品 に移行する必要があります。

大事な

この機能は現在プレビュー段階です。 Microsoft Azure プレビューの 追加使用条件 には、ベータ版、プレビュー版、または一般公開されていない Azure 機能に適用される、より多くの法的条件が含まれています。 この特定のプレビューの詳細については、AKS プレビュー情報 Azure HDInsightを参照してください。 ご質問や機能の提案については、詳細を記載した要求を AskHDInsight に送信してください。また、Azure HDInsight Community をフォローして、さらなる更新情報をご確認ください。

この記事では、AKS 上の HDInsight を使用して Trino クラスターで Delta Lake カタログを構成する方法の概要について説明します。 新しいカタログを追加するには、Hive カタログ以外のクラスター ARM テンプレートを更新します。これは、Azure portal で Trino クラスターの作成 中に追加できます。

前提 条件

Delta Lake カタログを構成する手順

  1. メタストアが既に構成されていない場合は、テーブルの定義と場所の Hive メタストア を構成します。

    外部 Hive メタストア データベースと既定のストレージ ディレクトリ config.properties ファイルで構成します (trino 構成 詳細)。

    "serviceConfigsProfiles": [
        {
            "serviceName": "trino",
            "configs": [
                {
                    "component": "common",
                    "files": [
                        {
                            "fileName": "config.properties",
                            "values": {
                                "hive.metastore.hdi.metastoreDbConnectionURL": "jdbc:sqlserver://{{DATABASE_SERVER}}.database.windows.net;database={{DATABASE_NAME}};encrypt=true;trustServerCertificate=true;create=false;loginTimeout=30",
                                "hive.metastore.hdi.metastoreDbConnectionUserName": "{{DATABASE_USER_NAME}}",
                                "hive.metastore.hdi.metastoreDbConnectionPasswordSecret": "{{SECRET_REFERENCE_NAME}}",
                                "hive.metastore.hdi.metastoreWarehouseDir": "abfs://{{AZURE_STORAGE_CONTAINER}}@{{AZURE_STORAGE_ACCOUNT_NAME}}.dfs.core.windows.net/hive/warehouse"
                            }
                        }
                    ]
                }
            ]
        }
    ]
    "secretsProfile": {
            "keyVaultResourceId": "/subscriptions/{USER_SUBSCRIPTION_ID}/resourceGroups/{USER_RESOURCE_GROUP}/providers/Microsoft.KeyVault/vaults/{USER_KEYVAULT_NAME}",
            "secrets": [
                {
                    "referenceName": "{{SECRET_REFERENCE_NAME}}",
                    "type": "Secret",
                    "keyVaultObjectName": "myCredSecret"
                }                        ]
        },
    

    手記

    referenceName は、hive.metastore.hdi.metastoreDbConnectionPasswordSecret で指定された値と一致する必要があります

  2. クラスター ARM テンプレートを更新して、新しい Delta Lake カタログ構成ファイルを追加します。 ARM テンプレートの clusterProfile プロパティの下の serviceConfigsProfiles でこの構成を定義する必要があります。

    財産 価値 説明
    ファイル名 delta.properties カタログ ファイルの名前。 ファイルが delta.properties と呼ばれる場合、delta はカタログ名になります。
    接続部品名 delta_lake カタログの種類。 Delta Lake の場合、カタログの種類は delta_lake する必要があります
    hive.metastore HDI このカタログに使用する Hive メタストアの種類。 「hdi」と入力すると、上記で構成したクラスター内 Hive メタストア サービスを使用するようにクラスターに指示されます。
    delta.register-table-procedure.enabled(テーブル手続きの登録を有効にする設定) 外部テーブルの登録を許可するために必要です。

    その他 デルタ レイク構成オプションについては、Trino のドキュメント を参照してください。

    "serviceConfigsProfiles": [
    {
        "serviceName": "trino",
        "configs": [
            {
                "component": "catalogs",
                "files": [
                            {
                                "fileName": "delta.properties",
                                "values": {
                                    "connector.name": "delta_lake",
                                    "hive.metastore": "hdi",
                                    "delta.register-table-procedure.enabled": "true"
                                }
                            }
       ]
    
    ...
    
  3. デルタテーブルを含むストレージアカウントのクラスターにユーザー割り当てのMSIを持つ場合、Storage Blob Data Ownerロールを割り当てます。 ロール 割り当てる方法を学ぶ。

    • ユーザー割り当て MSI 名は、クラスターのリソース JSON の msiResourceId プロパティに表示されます。

更新された ARM テンプレートをデプロイして、クラスター内の変更を反映します。 ARM テンプレート デプロイする方法について説明します。
正常にデプロイされると、Trino クラスターに "デルタ" カタログが表示されます。

次の手順

Delta Lakes テーブルの読み取り (Synapse または外部の場所)