다음을 통해 공유


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

중요하다

AKS의 Azure HDInsight는 2025년 1월 31일에 사용 중지되었습니다. 이 공지 을 통해에 대해 자세히 알아보세요.

워크로드가 갑자기 종료되는 것을 방지하기 위해 워크로드를 Microsoft Fabric 또는 동등한 Azure 제품으로 워크로드를 마이그레이션해야 합니다.

중요하다

이 기능은 현재 미리 보기로 제공됩니다. Microsoft Azure 프리뷰에 대한 추가 사용 약관에는 베타, 프리뷰 또는 아직 일반 제공으로 출시되지 않은 Azure 기능에 적용되는 보다 많은 법적 조건이 포함되어 있습니다. 이 특정 미리 보기에 대한 자세한 내용은 Azure HDInsight on AKS 미리 보기 정보를 참조하세요. 질문이나 기능 제안이 있으시면 세부 사항과 함께 AskHDInsight에 요청을 제출해 주세요. 더 많은 업데이트를 원하시면 Azure HDInsight Community를 팔로우하세요.

이 문서에서는 메타스토어(Synapse 또는 공용 액세스가 없는 다른 메타스토어)에 액세스하지 않고 Delta Lake 테이블을 읽는 방법에 대한 개요를 제공합니다.

AKS에서 HDInsight와 함께 Trino를 사용하여 테이블에서 다음 작업을 수행할 수 있습니다.

  • 삭제
  • 업데이트
  • 삽입하다
  • 병합

필수 구성 요소

  • Delta Lake 카탈로그를 구성합니다 .

Delta Lake 스키마 및 테이블 만들기

이 섹션에서는 Delta Lake 카탈로그가 이미 구성된 경우 기존 위치에 델타 테이블을 만드는 방법을 보여줍니다.

  1. Azure 포털에서 Storage browser을(를) 사용하여 테이블의 기본 디렉터리가 있는 스토리지 계정을 탐색합니다. 이 테이블이 Synapse에서 시작되는 경우 synapse/workspaces/.../warehouse/ 경로 아래에 있을 수 있으며 테이블의 이름을 따서 명명되고 _delta_log 디렉터리가 포함됩니다. 폴더 옆에 있는 세 개의 점 중에서 Copy URL 선택합니다.

    이 http 경로를 ABFS(Azure Blob 파일 시스템) 경로로 변환해야 합니다.

    스토리지 http 경로는 다음과 같이 구조화됩니다. https://{{AZURE_STORAGE_ACCOUNT}}.blob.core.windows.net/{{AZURE_STORAGE_CONTAINER}}/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/

    ABFS 경로는 다음과 같아야 합니다. abfss://{{AZURE_STORAGE_CONTAINER}}@{{AZURE_STORAGE_ACCOUNT}}.dfs.core.windows.net/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/

    예: abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name/

  2. Trino에서 Delta Lake 스키마를 만듭니다.

    CREATE SCHEMA delta.default;
    

    또는 특정 스토리지 계정에 스키마를 만들 수도 있습니다.

    CREATE SCHEMA delta.default WITH (location = 'abfss://container@storageaccount.dfs.core.windows.net/trino/');
    
  3. register_table 프로시저를 사용하여 테이블만듭니다.

    CALL delta.system.register_table(schema_name => 'default', table_name => 'table_name', table_location => 'abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name/');
    
  4. 테이블을 쿼리하여 확인합니다.

    SELECT * FROM delta.default.table_name
    

Synapse Spark에서 Delta Lake 테이블 작성

format("delta") 사용하여 데이터 프레임을 델타 테이블로 저장한 다음 데이터 프레임을 델타 형식으로 저장한 경로를 사용하여 Trino에 테이블을 등록할 수 있습니다.

my_dataframe.write.format("delta").save("abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name")

다음 단계

Trino 캐싱을 구성하는 방법