기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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 형식을 사용하려면 다음 구성을 설정하세요.
을 Iceberg 테이블이 있는 Amazon S3 경로로 바꾸고 리전 및 계정 ID 자리 표시자를 자체 값으로 바꾸세요.DB_LOCATION
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 |
✓ |
✓ |
DDL 명령 |
||
Spark 데이터 소스 쿼리 |
||
Spark 데이터 소스 쓰기 |