세분화된 액세스 제어를 갖춘 Apache Hudi - Amazon EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

세분화된 액세스 제어를 갖춘 Apache Hudi

Amazon EMR 릴리스 6.15.0 이상에는 Spark SQL AWS Lake Formation 을 사용하여 데이터를 읽고 쓸 때 Apache Hudi를 사용하여를 기반으로 하는 세분화된 액세스 제어 지원이 포함됩니다. Amazon EMR은 Apache Hudi를 통해 테이블, 행, 열 및 셀 수준 액세스 제어를 지원합니다. 이 기능을 사용하면 copy-on-write 테이블에서 스냅샷 쿼리를 실행하여 지정된 커밋 또는 압축 인스턴스에서 테이블의 최신 스냅샷을 쿼리할 수 있습니다.

현재 Lake Formation 지원 Amazon EMR 클러스터는 증분 쿼리 및 시간 이동 쿼리를 수행하려면 Hudi의 커밋 시간 열을 검색해야 합니다. Spark의 timestamp as of 구문과 Spark.read() 함수는 지원하지 않습니다. 올바른 구문은 select * from table where _hoodie_commit_time <= point_in_time입니다. 자세한 내용은 Point in time Time-Travel queries on Hudi table을 참조하세요.

다음 지원 매트릭스에는 Lake Formation을 포함하는 Apache Hudi의 몇 가지 핵심 기능이 나열되어 있습니다.

쓸 때 복사 읽을 때 병합

스냅샷 쿼리 - Spark SQL

최적화된 쿼리 읽기 - Spark SQL

증분 쿼리

시간 이동 쿼리

메타데이터 테이블

DML INSERT 명령

DDL 명령

Spark 데이터 소스 쿼리

Spark 데이터 소스 쓰기

Hudi 테이블 쿼리

이 섹션에서는 Lake Formation 지원 클러스터에서 앞서 설명한 지원되는 쿼리를 실행하는 방법을 보여줍니다. 테이블은 등록된 카탈로그 테이블이어야 합니다.

  1. EMR 7.10 이상 버전에서 Spark 쉘을 시작하려면 다음 명령을 사용합니다.

    spark-sql --jars /usr/lib/hudi/hudi-spark-bundle.jar \ --conf spark.sql.catalog.spark_catalog=org.apache.spark.sql.hudi.catalog.HoodieCatalog \ --conf spark.sql.extensions=org.apache.spark.sql.hudi.HoodieSparkSessionExtension

    이전 EMR 버전에서 Spark 쉘을 시작하려면 대신 아래 명령을 사용합니다.

    spark-sql --jars /usr/lib/hudi/hudi-spark-bundle.jar \ --conf spark.serializer=org.apache.spark.serializer.KryoSerializer \ --conf spark.sql.catalog.spark_catalog=org.apache.spark.sql.hudi.catalog.HoodieCatalog \ --conf spark.sql.extensions=org.apache.spark.sql.hudi.HoodieSparkSessionExtension,com.amazonaws.emr.recordserver.connector.spark.sql.RecordServerSQLExtension \ --conf spark.sql.catalog.spark_catalog.lf.managed=true
  2. copy-on-write 테이블의 최신 스냅샷을 쿼리하려면 다음 명령을 사용합니다.

    SELECT * FROM my_hudi_cow_table
    spark.read.table("my_hudi_cow_table")
  3. 압축된 최신 MOR 테이블 데이터를 쿼리하려면 _ro 접미사가 붙은 읽기 최적화 테이블을 쿼리하면 됩니다.

    SELECT * FROM my_hudi_mor_table_ro
    spark.read.table("my_hudi_mor_table_ro")
참고

지원되지 않는 최적화로 인해 Lake Formation 클러스터의 읽기 성능이 느려질 수 있습니다. 이러한 기능에는 Hudi 메타데이터를 기반으로 하는 파일 목록 및 데이터 건너뛰기가 포함됩니다. 애플리케이션 성능을 테스트하여 요구 사항을 충족하는지 확인하는 것이 좋습니다.