다음을 통해 공유


Delta Lake 카탈로그 구성

참고 항목

2025년 1월 31일에 Azure HDInsight on AKS가 사용 중지됩니다. 2025년 1월 31일 이전에 워크로드가 갑자기 종료되지 않도록 워크로드를 Microsoft Fabric 또는 동등한 Azure 제품으로 마이그레이션해야 합니다. 구독의 나머지 클러스터는 호스트에서 중지되고 제거됩니다.

사용 중지 날짜까지 기본 지원만 사용할 수 있습니다.

Important

이 기능은 현지 미리 보기로 제공됩니다. Microsoft Azure 미리 보기에 대한 보충 사용 약관에는 베타 또는 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 더 많은 약관이 포함되어 있습니다. 이 특정 미리 보기에 대한 자세한 내용은 Azure HDInsight on AKS 미리 보기 정보를 참조하세요. 질문이나 기능 제안이 있는 경우 AskHDInsight에서 세부 정보와 함께 요청을 제출하고 Azure HDInsight 커뮤니티에서 더 많은 업데이트를 확인하세요.

이 문서에서는 HDInsight on AKS를 사용하여 Trino 클러스터에서 Delta Lake 카탈로그를 구성하는 방법에 대한 개요를 제공합니다. Azure Portal에서 Trino 클러스터를 만드는 동안 추가할 수 있는 Hive 카탈로그를 제외한 클러스터 ARM 템플릿을 업데이트하여 새 카탈로그를 추가할 수 있습니다.

필수 조건

Delta Lake 카탈로그를 구성하는 단계

  1. 메타스토어가 아직 구성되지 않은 경우 테이블 정의 및 위치에 대해 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"
                }                        ]
        },
    

    참고 항목

    referenceNamehive.metastore.hdi.metastoreDbConnectionPasswordSecret에 제공된 값과 일치해야 합니다.

  2. 클러스터 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"
                                }
                            }
       ]
    
    ...
    
  3. delta 테이블을 포함하는 스토리지 계정에서 클러스터 사용자 할당 MSI에 Storage Blob Data Owner 역할을 할당합니다. 역할을 할당하는 방법을 알아봅니다.

    • 사용자 할당 MSI 이름은 클러스터 리소스 JSON의 msiResourceId 속성에 나열됩니다.

클러스터의 변경 내용을 반영하도록 업데이트된 ARM 템플릿을 배포합니다. ARM 템플릿을 배포하는 방법을 알아봅니다.
성공적으로 배포되면 Trino 클러스터에서 "Delta" 카탈로그를 볼 수 있습니다.

다음 단계

Delta Lakes 테이블 읽기(Synapse 또는 외부 위치)