Amazon을 사용한 Apache Iceberg 및 Lake Formation EMR - Amazon EMR

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

Amazon을 사용한 Apache Iceberg 및 Lake Formation EMR

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

Iceberg 형식을 사용하려면 다음 구성을 설정하세요. DB_LOCATION을 Iceberg 테이블이 있는 Amazon S3 경로로 바꾸고 리전 및 계정 ID 자리 표시자를 자체 값으로 바꾸세요.

spark-sql \ --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions,com.amazonaws.emr.recordserver.connector.spark.sql.RecordServerSQLExtension --conf spark.sql.catalog.iceberg_catalog=org.apache.iceberg.spark.SparkCatalog --conf spark.sql.catalog.iceberg_catalog.warehouse=s3://DB_LOCATION --conf spark.sql.catalog.iceberg_catalog.catalog-impl=org.apache.iceberg.aws.glue.GlueCatalog --conf spark.sql.catalog.iceberg_catalog.io-impl=org.apache.iceberg.aws.s3.S3FileIO --conf spark.sql.catalog.iceberg_catalog.glue.account-id=ACCOUNT_ID --conf spark.sql.catalog.iceberg_catalog.glue.id=ACCOUNT_ID --conf spark.sql.catalog.iceberg_catalog.client.assume-role.region=AWS_REGION --conf spark.sql.secureCatalog=iceberg_catalog

Lake Formation이 레코드 서버를 사용하여 Spark 카탈로그를 관리하도록 하려면 truespark.sql.catalog.<managed_catalog_name>.lf.managed로 설정합니다.

또한 다음 수임 역할 설정을 전달NOT해야 합니다.

--conf spark.sql.catalog.my_catalog.client.assume-role.region --conf spark.sql.catalog.my_catalog.client.assume-role.arn --conf spark.sql.catalog.my_catalog.client.assume-role.tags.LakeFormationAuthorizedCaller

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

쓸 때 복사 읽을 때 병합

스냅샷 쿼리 - Spark SQL

읽기 최적화 쿼리 - Spark SQL

증분 쿼리

시간 이동 쿼리

메타데이터 테이블

DML INSERT 명령

DDL 명령

Spark 데이터 소스 쿼리

Spark 데이터 소스 쓰기