Apache Iceberg e Lake Formation com o Amazon EMR - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Apache Iceberg e Lake Formation com o Amazon EMR

As versões 6.15.0 e superiores do Amazon EMR incluem suporte para controle de acesso refinado baseado no Apache Iceberg quando você lê e grava dados AWS Lake Formation com o Spark SQL. O Amazon EMR oferece suporte ao controle de acesso no nível de tabela, linha, coluna e célula com o Apache Iceberg. Com esse recurso, você pode executar consultas de instantâneos em copy-on-write tabelas para consultar o instantâneo mais recente da tabela em um determinado instante de confirmação ou compactação.

Se você quiser usar o formato Iceberg, defina as configurações a seguir. Substitua DB_LOCATION pelo caminho do Amazon S3 onde suas tabelas do Iceberg estão localizadas e os espaços reservados para a região e o ID da conta por seus próprios valores.

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

Se quiser que o Lake Formation use o servidor de registros para gerenciar o catálogo do Spark, defina spark.sql.catalog.<managed_catalog_name>.lf.managed como verdadeiro.

Você também deve ter cuidado para NÃO aprovar as seguintes configurações de assumir perfis:

--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

A matriz de apoio a seguir lista alguns dos principais recursos do Apache Iceberg com o Lake Formation:

Copiar na gravação mesclar na leitura

Consultas de snapshots: Spark SQL

Consultas otimizadas para leitura: Spark SQL

Consultas incrementais

Consultas de viagem no tempo

Tabelas de metadados

Comandos INSERT de DML

Comandos de DDL

Consultas de fontes de dados do Spark

Gravações na fonte de dados do Spark