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.
Verwenden von AWS Glue with AWS Lake Formation für den vollständigen Tabellenzugriff
Einführung in den vollständigen Tabellenzugriff
AWS Glue 5.0 unterstützt die Steuerung des vollständigen Tabellenzugriffs (FTA) in Apache Spark auf der Grundlage Ihrer in AWS Lake Formation definierten Richtlinien. Diese Funktion ermöglicht Lese- und Schreiboperationen von Ihren AWS Glue Spark-Jobs aus auf AWS Lake Formation registrierten Tabellen, wenn die Jobrolle vollen Tabellenzugriff hat. FTA ist ideal für Anwendungsfälle, bei denen Sicherheitsvorschriften auf Tabellenebene eingehalten werden müssen, und unterstützt Spark-Funktionen wie Resilient Distributed Datasets (RDDs), benutzerdefinierte Bibliotheken und benutzerdefinierte Funktionen (UDFs) mit AWS Lake Formation Tabellen.
Wenn ein AWS Glue Spark-Job für Full Table Access (FTA) konfiguriert ist, werden AWS Lake Formation Anmeldeinformationen für read/write Amazon S3 S3-Daten für AWS Lake Formation registrierte Tabellen verwendet, während die Runtime-Rollen-Anmeldeinformationen des Jobs für read/write Tabellen verwendet werden, bei AWS Lake Formation denen nicht registriert ist. Diese Funktion ermöglicht DML-Operationen (Data Manipulation Language) wie CREATE-, ALTER-, DELETE-, UPDATE- und MERGE INTO-Anweisungen für Apache Hive- und Iceberg-Tabellen.
Anmerkung
Überprüfen Sie Ihre Anforderungen und stellen Sie fest, ob Fine-Grained Access Control (FGAC) oder Full Table Access (FTA) Ihren Anforderungen entspricht. Für einen bestimmten Job kann nur eine AWS Lake Formation Berechtigungsmethode aktiviert werden. AWS Glue Ein Job kann nicht gleichzeitig Full Table Access (FTA) und Fine-Grained Access Control (FGAC) gleichzeitig ausführen.
So funktioniert Full-Table Access (FTA) auf AWS Glue
AWS Lake Formation bietet zwei Ansätze für die Datenzugriffskontrolle: Fine-Grained Access Control (FGAC) und Full Table Access (FTA). FGAC bietet verbesserte Sicherheit durch Filterung auf Spalten-, Zeilen- und Zellenebene und eignet sich ideal für Szenarien, in denen detaillierte Berechtigungen erforderlich sind. FTA ist ideal für einfache Zugriffskontrollszenarien, in denen Sie Berechtigungen auf Tabellenebene benötigen. Es vereinfacht die Implementierung, da kein detaillierter Zugriffsmodus erforderlich ist, verbessert die Leistung und senkt die Kosten, da Systemtreiber und Systemausführungen vermieden werden, und unterstützt sowohl Lese- als auch Schreibvorgänge (einschließlich der Befehle CREATE, ALTER, DELETE, UPDATE und MERGE INTO).
In AWS Glue 4.0 funktionierte der AWS Lake Formation basierte Datenzugriff über die Klasse, die GlueContext Dienstprogrammklasse, die von bereitgestellt wird. AWS Glue In AWS Glue 5.0 ist der AWS Lake Formation basierte Datenzugriff über systemeigenes Spark-SQL, Spark DataFrames, verfügbar und wird weiterhin über GlueContext Klassen unterstützt.
Implementierung des vollständigen Tabellenzugriffs
Schritt 1: Aktivieren Sie den vollständigen Tabellenzugriff in AWS Lake Formation
Um den Modus Full Table Access (FTA) zu verwenden, müssen Sie Abfrage-Engines von Drittanbietern den Zugriff auf Daten ermöglichen, ohne dass die IAM-Sitzung-Tag-Validierung aktiviert ist. AWS Lake Formation Folgen Sie zur Aktivierung den Schritten unter Anwendungsintegration für vollständigen Tabellenzugriff.
Schritt 2: Richten Sie die IAM-Berechtigungen für die Job-Runtime-Rolle ein
Für den Lese- oder Schreibzugriff auf die zugrunde liegenden Daten benötigt eine Job-Runtime-Rolle zusätzlich zu den AWS Lake Formation Berechtigungen die lakeformation:GetDataAccess
IAM-Berechtigung. Mit dieser Berechtigung wird der Anforderung temporärer Anmeldeinformationen für den Zugriff auf die Daten stattgegeben. AWS Lake Formation
Im Folgenden finden Sie eine Beispielrichtlinie für die Bereitstellung von IAM-Berechtigungen für den Zugriff auf ein Skript in Amazon S3, für das Hochladen von Protokollen auf Amazon S3, AWS Glue API-Berechtigungen und Zugriffsberechtigungen. AWS Lake Formation
Schritt 2.1 Berechtigungen konfigurieren AWS Lake Formation
AWS Glue Spark-Jobs, die Daten aus Amazon S3 lesen, benötigen die AWS Lake Formation SELECT-Berechtigung.
AWS Glue Spark-Jobs, für die write/delete Daten in Amazon S3 ist eine AWS Lake Formation ALL-Genehmigung erforderlich.
AWS Glue Spark-Jobs, die mit dem AWS Glue Datenkatalog interagieren, benötigen die entsprechenden DESCRIBE-, ALTER- und DROP-Berechtigungen.
Schritt 3: Initialisieren Sie eine Spark-Sitzung für den vollständigen Tabellenzugriff mit AWS Lake Formation
Um auf Tabellen zuzugreifen AWS Lake Formation, bei denen registriert ist, müssen bei der Spark-Initialisierung die folgenden Konfigurationen festgelegt werden, um Spark für die Verwendung AWS Lake Formation von Anmeldeinformationen zu konfigurieren.
Um auf Tabellen zuzugreifen AWS Lake Formation, mit denen Sie registriert sind, müssen Sie Ihre Spark-Sitzung explizit für die Verwendung von AWS Lake Formation Anmeldeinformationen konfigurieren. Fügen Sie bei der Initialisierung Ihrer Spark-Sitzung die folgenden Konfigurationen hinzu:
from pyspark.sql import SparkSession # Initialize Spark session with Lake Formation configurations spark = SparkSession.builder \ .appName("Lake Formation Full Table Access") \ .config("spark.sql.catalog.glue_catalog", "org.apache.spark.sql.catalog.hive.GlueCatalog") \ .config("spark.sql.catalog.glue_catalog.glue.lakeformation-enabled", "true") \ .config("spark.sql.defaultCatalog", "glue_catalog") \ .getOrCreate()
Die wichtigsten Konfigurationen:
-
spark.sql.catalog.glue_catalog
: Registriert einen Katalog mit dem Namen „glue_catalog“, der die Implementierung verwendet GlueCatalog -
spark.sql.catalog.glue_catalog.glue.lakeformation-enabled
: Aktiviert explizit die AWS Lake Formation Integration für diesen Katalog -
Der Katalogname (in diesem Beispiel „glue_catalog“) kann angepasst werden, muss aber in beiden Konfigurationseinstellungen konsistent sein
Hive
‐‐conf spark.hadoop.fs.s3.credentialsResolverClass=com.amazonaws.AWS Glue.accesscontrol.AWSLakeFormationCredentialResolver --conf spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=true --conf spark.hadoop.fs.s3.folderObject.autoAction.disabled=true --conf spark.sql.catalog.skipLocationValidationOnCreateTable.enabled=true --conf spark.sql.catalog.createDirectoryAfterTable.enabled=true --conf spark.sql.catalog.dropDirectoryBeforeTable.enabled=true
Iceberg
--conf spark.hadoop.fs.s3.credentialsResolverClass=com.amazonaws.AWS Glue.accesscontrol.AWSLakeFormationCredentialResolver --conf spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=true --conf spark.hadoop.fs.s3.folderObject.autoAction.disabled=true --conf spark.sql.catalog.skipLocationValidationOnCreateTable.enabled=true --conf spark.sql.catalog.createDirectoryAfterTable.enabled=true --conf spark.sql.catalog.dropDirectoryBeforeTable.enabled=true --conf spark.sql.catalog.<catalog>.AWS Glue.lakeformation-enabled=true
-
spark.hadoop.fs.s3.credentialsResolverClass=com.amazonaws.AWS Glue.accesscontrol.AWSLakeFormationCredentialResolver
: Konfigurieren Sie das EMR-Dateisystem (EMRFS) so, dass AWS Lake Formation S3-Anmeldeinformationen für registrierte Tabellen verwendet werden. AWS Lake Formation Wenn die Tabelle nicht registriert ist, verwenden Sie die Anmeldeinformationen für die Runtime-Rolle des Jobs. -
spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=true
Undspark.hadoop.fs.s3.folderObject.autoAction.disabled=true
: Konfigurieren Sie EMRFS so, dass beim Erstellen von S3-Ordnern der Inhaltstypheader application/x-directory anstelle des Suffixes $folder$ verwendet wird. Dies ist beim Lesen von AWS Lake Formation Tabellen erforderlich, da AWS Lake Formation Anmeldeinformationen das Lesen von Tabellenordnern mit dem Suffix $folder$ nicht zulassen. -
spark.sql.catalog.skipLocationValidationOnCreateTable.enabled=true
: Konfigurieren Sie Spark so, dass die Überprüfung, ob der Tabellenspeicherort leer ist, vor der Erstellung übersprungen wird. Dies ist für AWS Lake Formation registrierte Tabellen erforderlich, da AWS Lake Formation Anmeldeinformationen zur Überprüfung des leeren Speicherorts erst nach der Erstellung der AWS Glue Datenkatalogtabelle verfügbar sind. Ohne diese Konfiguration validieren die Anmeldeinformationen für die Runtime-Rolle des Jobs den Speicherort der leeren Tabelle. -
spark.sql.catalog.createDirectoryAfterTable.enabled=true
: Konfigurieren Sie Spark so, dass der Amazon S3 S3-Ordner nach der Tabellenerstellung im Hive-Metastore erstellt wird. Dies ist für AWS Lake Formation registrierte Tabellen erforderlich, da AWS Lake Formation Anmeldeinformationen für die Erstellung des Amazon S3 S3-Ordners erst nach der Erstellung der AWS Glue Datenkatalogtabelle verfügbar sind. -
spark.sql.catalog.dropDirectoryBeforeTable.enabled=true
: Konfigurieren Sie Spark so, dass der Amazon S3 S3-Ordner vor dem Löschen der Tabelle im Hive-Metastore gelöscht wird. Dies ist für AWS Lake Formation registrierte Tabellen erforderlich, da die AWS Lake Formation Anmeldeinformationen zum Löschen des S3-Ordners nach dem Löschen der Tabelle aus dem AWS Glue Datenkatalog nicht verfügbar sind. -
spark.sql.catalog.<catalog>.AWS Glue.lakeformation-enabled=true
: Konfigurieren Sie den Iceberg-Katalog so, dass er AWS Lake Formation Amazon S3 S3-Anmeldeinformationen für AWS Lake Formation registrierte Tabellen verwendet. Wenn die Tabelle nicht registriert ist, verwenden Sie Standardanmeldedaten für die Umgebung.
Nutzungsmuster
Verwenden von FTA mit DataFrames
Für Benutzer, die mit Spark vertraut sind, DataFrames kann es mit AWS Lake Formation Full Table Access verwendet werden.
AWS Glue 5.0 bietet native Spark-Unterstützung für Lake Formation Full Table Access und vereinfacht so die Arbeit mit geschützten Tabellen. Diese Funktion ermöglicht es AWS Glue AWS Glue 5.0-Spark-Jobs, Daten direkt zu lesen und zu schreiben, wenn vollständiger Tabellenzugriff gewährt wird, wodurch Einschränkungen aufgehoben werden, die zuvor bestimmte ETL-Operationen (Extrahieren, Transformieren und Laden) einschränkten. Sie können jetzt erweiterte Spark-Funktionen wie Resilient Distributed Datasets (RDDs), benutzerdefinierte Bibliotheken und benutzerdefinierte Funktionen (UDFs) mit AWS Lake Formation Tabellen nutzen.
Natives Spark-FTA in 5.0 AWS Glue
AWS Glue 5.0 unterstützt die Steuerung des vollständigen Tabellenzugriffs (FTA) in Apache Spark auf der Grundlage Ihrer in definierten Richtlinien. AWS Lake Formation Diese Kontrollebene ist ideal für Anwendungsfälle, bei denen Sicherheitsvorschriften auf Tabellenebene eingehalten werden müssen.
Beispiel für eine Apache Iceberg-Tabelle
from pyspark.sql import SparkSession catalog_name = "spark_catalog" aws_region = "us-east-1" aws_account_id = "123456789012" warehouse_path = "s3://amzn-s3-demo-bucket/warehouse/" spark = SparkSession.builder \ .config("spark.sql.extensions","org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions") \ .config(f"spark.sql.catalog.{catalog_name}", "org.apache.iceberg.spark.SparkSessionCatalog") \ .config(f"spark.sql.catalog.{catalog_name}.warehouse", f"{warehouse_path}") \ .config(f"spark.sql.catalog.{catalog_name}.client.region",f"{aws_region}") \ .config(f"spark.sql.catalog.{catalog_name}.glue.account-id",f"{aws_account_id}") \ .config(f"spark.sql.catalog.{catalog_name}.glue.lakeformation-enabled","true") \ .config(f"spark.sql.catalog.dropDirectoryBeforeTable.enabled", "true") \ .config(f"spark.sql.catalog.{catalog_name}.catalog-impl", "org.apache.iceberg.aws.glue.GlueCatalog") \ .config(f"spark.sql.catalog.{catalog_name}.io-impl", "org.apache.iceberg.aws.s3.S3FileIO") \ .config("spark.sql.defaultCatalog", catalog_name) \ # Add this line .getOrCreate() database_name = "your_database" table_name = "your_table" df = spark.sql(f"select * from {database_name}.{table_name}") df.show()
Erforderliche IAM-Berechtigungen
Ihre Rolle bei der AWS Glue Auftragsausführung muss Folgendes haben:
{ "Action": "lakeformation:GetDataAccess", "Resource": "*", "Effect": "Allow" }
Außerdem die entsprechenden S3-Zugriffsberechtigungen für Ihre Datenstandorte.
Konfiguration der Lake Formation
Vor der Verwendung von nativem Spark FTA in AWS Glue 5.0:
-
Erlauben Sie Query-Engines von Drittanbietern den Zugriff auf Daten ohne Überprüfung des IAM-Sitzungs-Tags in AWS Lake Formation
-
Erteilen Sie Ihrer AWS Glue Jobausführungsrolle über AWS Lake Formation die Konsole die entsprechenden Tabellenberechtigungen
-
Konfigurieren Sie Ihre Spark-Sitzung mit den erforderlichen Parametern, die im obigen Beispiel gezeigt werden
Verwenden Sie FTA mit DynamicFrames
AWS Glue Die native Version DynamicFrames kann mit AWS Lake Formation vollständigem Tabellenzugriff für optimierte ETL-Operationen verwendet werden. Full Table Access (FTA) bietet ein Sicherheitsmodell, das Berechtigungen auf Tabellenebene gewährt. Dies ermöglicht im Vergleich zu Fine-Grained Access Control (FGAC) eine schnellere Datenverarbeitung, da der Aufwand für Berechtigungsprüfungen auf Zeilen- und Spaltenebene umgangen wird. Dieser Ansatz ist nützlich, wenn Sie ganze Tabellen verarbeiten müssen und Berechtigungen auf Tabellenebene Ihren Sicherheitsanforderungen entsprechen.
In AWS Glue Version 4.0 war DynamicFrames mit FTA eine spezifische Konfiguration erforderlich. GlueContext Bestehender AWS Glue DynamicFrame 4.0-Code mit FTA wird in AWS Glue 5.0 weiterhin funktionieren, aber die neuere Version bietet auch native Spark FTA-Unterstützung mit größerer Flexibilität. Für neue Entwicklungen sollten Sie den in DataFrames diesem Abschnitt beschriebenen systemeigenen Spark-Ansatz in Betracht ziehen, insbesondere wenn Sie zusätzliche Funktionen wie Resilient Distributed Datasets (RDDs), benutzerdefinierte Bibliotheken und benutzerdefinierte Funktionen (UDFs) mit Tabellen benötigen. AWS Lake Formation
Erforderliche Berechtigungen
Die IAM-Rolle, die Ihren Glue-Job ausführt, muss Folgendes haben:
-
lakeformation:GetDataAccess
-Berechtigung -
Entsprechende Lake Formation-Tabellenberechtigungen, die über die Lake Formation Formation-Konsole erteilt wurden
Beispiel für eine DynamicFrame Implementierung in AWS Glue 5.0
from awsglue.context import GlueContext from pyspark.context import SparkContext # Initialize Glue context sc = SparkContext() glueContext = GlueContext(sc) # Configure catalog for Iceberg tables catalog_name = "glue_catalog" aws_region = "us-east-1" aws_account_id = "123456789012" warehouse_path = "s3://amzn-s3-demo-bucket/warehouse/" spark = glueContext.spark_session spark.conf.set(f"spark.sql.catalog.{catalog_name}", "org.apache.iceberg.spark.SparkCatalog") spark.conf.set(f"spark.sql.catalog.{catalog_name}.warehouse", f"{warehouse_path}") spark.conf.set(f"spark.sql.catalog.{catalog_name}.catalog-impl", "org.apache.iceberg.aws.glue.GlueCatalog") spark.conf.set(f"spark.sql.catalog.{catalog_name}.io-impl", "org.apache.iceberg.aws.s3.S3FileIO") spark.conf.set(f"spark.sql.catalog.{catalog_name}.glue.lakeformation-enabled","true") spark.conf.set(f"spark.sql.catalog.{catalog_name}.client.region",f"{aws_region}") spark.conf.set(f"spark.sql.catalog.{catalog_name}.glue.id", f"{aws_account_id}") # Read Lake Formation-protected table with DynamicFrame df = glueContext.create_data_frame.from_catalog( database="your_database", table_name="your_table" )
Zusätzliche Konfiguration
Konfigurieren Sie den vollständigen Tabellenzugriffsmodus in AWS Glue Studio Notebooks
Um über interaktive Spark-Sitzungen in AWS Glue Studio Notebooks auf AWS Lake Formation registrierte Tabellen zuzugreifen, müssen Sie den Kompatibilitätsberechtigungsmodus verwenden. Verwenden Sie den %%configure
magischen Befehl, um Ihre Spark-Konfiguration einzurichten, bevor Sie Ihre interaktive Sitzung starten. Diese Konfiguration muss der erste Befehl in Ihrem Notizbuch sein, da sie nach dem Start der Sitzung nicht mehr angewendet werden kann. Wählen Sie die Konfiguration basierend auf Ihrem Tabellentyp aus:
Für Hive-Tabellen
%%configure --conf spark.hadoop.fs.s3.credentialsResolverClass=com.amazonaws.glue.accesscontrol.AWSLakeFormationCredentialResolver --conf spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=true --conf spark.hadoop.fs.s3.folderObject.autoAction.disabled=true --conf spark.sql.catalog.skipLocationValidationOnCreateTable.enabled=true --conf spark.sql.catalog.createDirectoryAfterTable.enabled=true --conf spark.sql.catalog.dropDirectoryBeforeTable.enabled=true
Für Iceberg-Tische
%%configure --conf spark.hadoop.fs.s3.credentialsResolverClass=com.amazonaws.glue.accesscontrol.AWSLakeFormationCredentialResolver --conf spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=true --conf spark.hadoop.fs.s3.folderObject.autoAction.disabled=true --conf spark.sql.catalog.skipLocationValidationOnCreateTable.enabled=true --conf spark.sql.catalog.createDirectoryAfterTable.enabled=true --conf spark.sql.catalog.dropDirectoryBeforeTable.enabled=true --conf spark.sql.catalog.glue_catalog.glue.lakeformation-enabled=true --conf spark.sql.catalog.glue_catalog.warehouse=s3://example-s3-bucket_DATA_LOCATION --conf spark.sql.catalog.glue_catalog.catalog-impl=org.apache.iceberg.aws.glue.GlueCatalog --conf spark.sql.catalog.glue_catalog.io-impl=org.apache.iceberg.aws.s3.S3FileIO --conf spark.sql.catalog.glue_catalog.glue.account-id=ACCOUNT_ID --conf spark.sql.catalog.glue_catalog.glue.region=REGION
Ersetzen Sie die Platzhalter:
-
S3_DATA_LOCATION:
s3://amzn-s3-demo-bucket
-
REGION:
AWS Region (e.g., us-east-1)
-
KONTO-ID:
Your AWS Account ID
Anmerkung
Sie müssen diese Konfigurationen festlegen, bevor Sie Spark-Operationen in Ihrem Notebook ausführen.
Unterstützte Vorgänge
Bei diesen Vorgängen werden AWS Lake Formation Anmeldeinformationen für den Zugriff auf die Tabellendaten verwendet.
Anmerkung
Bei der Aktivierung AWS Lake Formation:
-
Für FTA: Aktivieren Sie die Spark-Konfiguration
spark.sql.catalog.{catalog_name}.glue.lakeformation-enabled
-
CREATE TABLE
-
ALTER TABLE
-
INSERT INTO
-
INSERT OVERWRITE
-
SELECT
-
UPDATE
-
MERGE INTO
-
DELETE FROM
-
TABELLE ANALYSIEREN
-
TABELLE REPARIEREN
-
DROP TABLE
-
Spark-Datenquellenabfragen
-
Spark-Datenquellenschreibvorgänge
Anmerkung
Operationen, die oben nicht aufgeführt sind, verwenden weiterhin IAM-Berechtigungen für den Zugriff auf Tabellendaten.
Migration von AWS Glue 4.0 auf 5.0 FTA AWS Glue
Bei der Migration von AWS Glue 4.0 GlueContext FTA auf AWS Glue 5.0 native Spark FTA:
-
Erlauben Sie Abfrage-Engines von Drittanbietern den Zugriff auf Daten, ohne dass die Überprüfung des IAM-Sitzungs-Tags aktiviert ist. AWS Lake Formation FolgenSchritt 1: Aktivieren Sie den vollständigen Tabellenzugriff in AWS Lake Formation.
-
Sie müssen die Job-Runtime-Rolle nicht ändern. Stellen Sie jedoch sicher, dass die Rolle „ AWS Glue Job Execution“ über die Berechtigung Lakeformation: GetDataAccess IAM verfügt.
-
Ändern Sie die Spark-Sitzungskonfigurationen im Skript. Stellen Sie sicher, dass die folgenden Spark-Konfigurationen vorhanden sind:
--conf spark.sql.catalog.spark_catalog=org.apache.iceberg.spark.SparkSessionCatalog --conf spark.sql.catalog.spark_catalog.warehouse=s3://<bucket-name>/warehouse/ --conf spark.sql.catalog.spark_catalog.client.region=<REGION> --conf spark.sql.catalog.spark_catalog.glue.account-id=ACCOUNT_ID --conf spark.sql.catalog.spark_catalog.glue.lakeformation-enabled=true --conf spark.sql.catalog.dropDirectoryBeforeTable.enabled=true
-
Aktualisieren Sie das Skript so, dass GlueContext DataFrames es auf natives Spark umgestellt wird DataFrames.
-
Aktualisieren Sie Ihren AWS Glue Job, um AWS Glue 5.0 zu verwenden
Überlegungen und Einschränkungen
-
Wenn eine Hive-Tabelle mit einem Job erstellt wird, für den der vollständige Tabellenzugriff nicht aktiviert ist, und keine Datensätze eingefügt werden, schlagen nachfolgende Lese- oder Schreibvorgänge aus einem Job mit vollständigem Tabellenzugriff fehl. Das liegt daran, dass AWS Glue Spark ohne vollständigen Tabellenzugriff dem Namen des Tabellenordners das Suffix $folder$ hinzufügt. Um dieses Problem zu lösen, können Sie entweder:
-
Fügen Sie mindestens eine Zeile aus einem Job in die Tabelle ein, für den FTA nicht aktiviert ist.
-
Konfigurieren Sie den Job, für den FTA nicht aktiviert ist, so, dass er das Suffix $folder$ nicht im Ordnernamen in S3 verwendet. Dies kann durch die Einstellung der Spark-Konfiguration erreicht werden.
spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=true
-
Erstellen Sie
s3://path/to/table/table_name
mit der Amazon S3 S3-Konsole oder der Amazon S3 S3-CLI am Speicherort der Tabelle einen Amazon S3 S3-Ordner.
-
-
Full Table Access funktioniert ausschließlich mit dem EMR-Dateisystem (EMRFS). Das S3A-Dateisystem ist nicht kompatibel.
-
Full Table Access wird für Hive- und Iceberg-Tabellen unterstützt. Support für Hudi- und Delta-Tabellen wurde noch nicht hinzugefügt.
-
Jobs, die auf Tabellen mit FGAC-Regeln ( AWS Lake Formation Fine-Grained Access Control) oder AWS Glue Datenkatalogsichten verweisen, schlagen fehl. Um eine Tabelle mit FGAC-Regeln oder einer AWS Glue Datenkatalogsicht abzufragen, müssen Sie den FGAC-Modus verwenden. Sie können den FGAC-Modus aktivieren, indem Sie die in der AWS Dokumentation beschriebenen Schritte ausführen: Verwenden AWS Glue von with für eine detaillierte Zugriffskontrolle. AWS Lake Formation
-
Der vollständige Tabellenzugriff unterstützt Spark Streaming nicht.
-
Kann nicht gleichzeitig mit FGAC verwendet werden.