Delta Lake カタログを構成する
Note
Azure HDInsight on AKS は 2025 年 1 月 31 日に廃止されます。 2025 年 1 月 31 日より前に、ワークロードを Microsoft Fabric または同等の Azure 製品に移行することで、ワークロードの突然の終了を回避する必要があります。 サブスクリプション上に残っているクラスターは停止され、ホストから削除されることになります。
提供終了日までは基本サポートのみが利用できます。
重要
現在、この機能はプレビュー段階にあります。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用されるその他の法律条項については、「Microsoft Azure プレビューの追加の使用条件」に記載されています。 この特定のプレビューについては、「Microsoft HDInsight on AKS のプレビュー情報」を参照してください。 質問や機能の提案については、詳細を記載した要求を AskHDInsight で送信してください。また、その他の更新については、Azure HDInsight コミュニティのフォローをお願いいたします。
この記事では、HDInsight on AKS を使った Trino クラスターで Delta Lake カタログを構成する方法の概要について説明します。 新しいカタログは、クラスター ARM テンプレートを更新して追加できます。ただし、Hive カタログは、Azure portal で Trino クラスターの作成中に追加できます。
前提条件
Delta Lake カタログを構成する手順
メタストアがまだ構成されていない場合は、テーブルの定義と場所用に Hive メタストアを構成します。
以下のように
config.properties
ファイル内で外部 Hive メタストア データベースと既定のストレージ ディレクトリを構成します (詳細は 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" } ] },
Note
referenceName
は、hive.metastore.hdi.metastoreDbConnectionPasswordSecret
で指定された値と一致する必要がありますクラスター ARM テンプレートを更新して、新しい Delta Lake カタログ構成ファイルを追加します。 この構成は、ARM テンプレートの
clusterProfile
プロパティの下のserviceConfigsProfiles
で定義する必要があります。プロパティ 値 説明 fileName delta.properties カタログ ファイルの名前。 ファイルが delta.properties と呼ばれる場合、 delta
がカタログ名になります。connector.name delta_lake カタログの種類。 Delta Lake の場合、カタログの種類は delta_lake
でなければなりませんhive.metastore hdi このカタログで使用する Hive メタストアの種類。 「 hdi
」と入力することで、上で構成したクラスター内 Hive メタストア サービスを使用するようにクラスターに指示できます。delta.register-table-procedure.enabled true 外部テーブルの登録を可能にするために必要です。 その他の Delta Lake 構成オプションについては、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" } } ] ...
Delta テーブルを含むストレージ アカウントのクラスター ユーザー割り当て MSI に
Storage Blob Data Owner
ロールを割り当てます。 ロールを割り当てる方法を確認してください。- ユーザー割り当て MSI 名は、クラスターのリソース JSON の
msiResourceId
プロパティにリストされています。
- ユーザー割り当て MSI 名は、クラスターのリソース JSON の
更新した ARM テンプレートをデプロイして、クラスターに変更を反映させます。 ARM テンプレートをデプロイする方法を確認してください。
正常にデプロイされると、Trino クラスターに "delta" カタログが表示されます。