Apache Iceberg und Lake Formation - Amazon EMR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Apache Iceberg und Lake Formation

Die EMR Amazon-Versionen 6.15.0 und höher bieten Unterstützung für eine differenzierte Zugriffskontrolle, die auf Apache Iceberg basiert, wenn Sie Daten AWS Lake Formation mit Spark lesen und schreiben. SQL Amazon EMR unterstützt die Zugriffskontrolle auf Tabellen-, Zeilen-, Spalten- und Zellenebene mit Apache Iceberg. Mit dieser Funktion können Sie Snapshot-Abfragen für copy-on-write Tabellen ausführen, um den neuesten Snapshot der Tabelle zu einem bestimmten Commit- oder Komprimierungszeitpunkt abzufragen.

Wenn Sie das Iceberg-Format verwenden möchten, legen Sie die folgenden Konfigurationen fest. Ersetzen Sie DB_LOCATION durch den Amazon-S3-Pfad, in dem sich Ihre Iceberg-Tabellen befinden, und ersetzen Sie die Platzhalter für Region und Konto-ID durch Ihre eigenen Werte.

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

Wenn Sie möchten, dass Lake Formation einen Datensatzserver zur Verwaltung Ihres Spark-Katalogs verwendet, setzen Sie spark.sql.catalog.<managed_catalog_name>.lf.managed ihn auf true.

Sie sollten auch darauf achtenNOT, die folgenden Einstellungen für die Übernahme der Rolle zu übergeben:

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

Die folgende Unterstützungsmatrix listet einige Kernfeatures von Apache Iceberg mit Lake Formation auf:

Kopieren Sie beim Schreiben Beim Lesen zusammenführen (MoR)

Snapshot-Abfragen — Spark SQL

Leseoptimierte Abfragen — Spark SQL

Inkrementelle Abfragen

Zeitreiseabfragen

Metadaten-Tabellen

DMLINSERTBefehle

DDLBefehle

Spark-Datenquellenabfragen

Spark-Datenquellenschreibvorgänge