Verwendung von AWS Glue mit AWS Lake Formation für Full Table Access
Einführung in Full Table Access
AWS Glue 5.0 unterstützt die Steuerung des Full Table Access (FTA) in Apache Spark basierend auf Ihren in AWS Lake Formation definierten Richtlinien. Dieses Feature ermöglicht Lese- und Schreibvorgänge von Ihren Spark-Aufträgen von AWS Glue auf in AWS Lake Formation registrierten Tabellen, wenn die Auftragsrolle über vollständigen Tabellenzugriff verfügt. FTA eignet sich ideal für Anwendungsfälle, die Sicherheitsbestimmungen auf Tabellenebene einhalten müssen, und unterstützt Spark-Funktionen wie Resilient Distributed Datasets (RDDs), benutzerdefinierte Bibliotheken und User Defined Functions (UDFs) mit AWS Lake Formation-Tabellen.
Wenn ein Spark-Auftrag von AWS Glue für Full Table Access (FTA) konfiguriert ist, werden die Anmeldeinformationen für AWS Lake Formation zum Lesen/Schreiben von Amazon-S3-Daten für in AWS Lake Formation registrierte Tabellen verwendet, während die Anmeldeinformationen der Laufzeitrolle des Auftrags zum Lesen/Schreiben von Tabellen verwendet werden, die nicht in AWS Lake Formation registriert sind. Diese Funktion ermöglicht DML-Operationen (Data Manipulation Language) wie CREATE-, ALTER-, DELETE-, UPDATE- und MERGE INTO-Anweisungen in 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 Auftrag von AWS Glue kann nur eine AWS Lake Formation-Berechtigungsmethode aktiviert werden. Ein Auftrag kann nicht gleichzeitig Full Table Access (FTA) und Fine-Grained Access Control (FGAC) ausführen.
So funktioniert Full Table Access (FTA) in 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, ideal für Szenarien, die präzise Berechtigungen erfordern. FTA ist ideal für einfache Zugriffskontrollszenarien, in denen Sie Berechtigungen auf Tabellenebene benötigen. Es vereinfacht die Implementierung, da kein differenzierter 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 erfolgte der auf AWS Lake Formation basierende Datenzugriff über die GlueContext-Klasse, eine von AWS Glue bereitgestellte Dienstprogramm-Klasse. In AWS Glue 5.0 ist der auf AWS Lake Formation basierende Datenzugriff über natives Spark SQL und Spark DataFrames möglich und wird weiterhin über die GlueContext-Klasse unterstützt.
Implementierung von Full Table Access
Schritt 1: Aktivieren von Full Table Access 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-Sitzungstag-Validierung in AWS Lake Formation aktiviert ist. Folgen Sie zur Aktivierung den Schritten unter Application integration for full table access.
Schritt 2: Einrichten der IAM-Berechtigungen für die Auftrag-Laufzeitrolle
Für den Lese- oder Schreibzugriff auf die zugrunde liegenden Daten benötigt eine Auftrag-Laufzeitrolle zusätzlich zu den Berechtigungen für AWS Lake Formation die lakeformation:GetDataAccess-IAM-Berechtigung. Mit dieser Berechtigung gewährt AWS Lake Formation die Anforderung von temporären Anmeldeinformationen für den Zugriff auf die Daten.
Die folgende Beispielrichtlinie beschreibt, wie Sie IAM-Berechtigungen für den Zugriff auf ein Skript in Amazon S3, das Hochladen von Protokollen in Amazon S3, API-Berechtigungen für AWS Glue und die Berechtigung für den Zugriff auf AWS Lake Formation erteilen.
Schritt 2.1: Konfigurieren von Berechtigungen für AWS Lake Formation
Spark-Aufträge von AWS Glue, die Daten aus Amazon S3 lesen, benötigen die SELECT-Berechtigung für AWS Lake Formation.
Spark-Aufträge von AWS Glue, die Daten in Amazon S3 schreiben/löschen, erfordern die ALL-Berechtigung für AWS Lake Formation.
Spark-Aufträge von AWS Glue, die mit dem Datenkatalog von AWS Glue interagieren, benötigen je nach Bedarf die Berechtigungen DESCRIBE, ALTER oder DROP.
Schritt 3: Initialisieren einer Spark-Sitzung für Full Table Access mit AWS Lake Formation
Um auf Tabellen zuzugreifen, die mit AWS Lake Formation registriert sind, müssen während der Spark-Initialisierung die folgenden Konfigurationen vorgenommen werden, damit Spark die Anmeldeinformationen für AWS Lake Formation verwenden kann.
Um auf Tabellen zuzugreifen, die mit AWS Lake Formation registriert sind, müssen Sie Ihre Spark-Sitzung explizit so konfigurieren, dass sie Anmeldeinformationen für AWS Lake Formation verwendet. 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()
Wichtige Konfigurationen:
-
spark.sql.catalog.glue_catalog: Registriert einen Katalog mit dem Namen „glue_catalog“, der die GlueCatalog-Implementierung verwendet. -
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 es S3-Anmeldeinformationen für AWS Lake Formation für in AWS Lake Formation registrierte Tabellen verwendet. Wenn die Tabelle nicht registriert ist, verwenden Sie die Anmeldeinformationen für die Auftrag-Laufzeitrolle. -
spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=trueundspark.hadoop.fs.s3.folderObject.autoAction.disabled=true: Konfigurieren Sie EMRFS so, dass beim Erstellen von S3-Ordnern der Content-Type-Header „application/x-directory“ anstelle des Suffixes „$folder$“ verwendet wird. Dies ist beim Lesen von AWS Lake Formation-Tabellen erforderlich, da Anmeldeinformationen für AWS Lake Formation 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 in AWS Lake Formation registrierte Tabellen erforderlich, da Anmeldeinformationen für AWS Lake Formation zur Überprüfung des leeren Speicherorts erst nach der Erstellung der Datenkatalogtabelle von AWS Glue verfügbar sind. Ohne diese Konfiguration validieren die Anmeldeinformationen für die Auftrag-Laufzeitrolle den Speicherort der leeren Tabelle. -
spark.sql.catalog.createDirectoryAfterTable.enabled=true: Konfigurieren Sie Spark so, dass der Amazon-S3-Ordner nach der Tabellenerstellung im Hive-Metastore erstellt wird. Dies ist für in AWS Lake Formation registrierte Tabellen erforderlich, da die Anmeldeinformationen für AWS Lake Formation zur Erstellung des Amazon-S3-Ordners erst nach der Erstellung der Datenkatalogtabelle von AWS Glue verfügbar sind. -
spark.sql.catalog.dropDirectoryBeforeTable.enabled=true: Konfigurieren Sie Spark so, dass der Amazon-S3-Ordner vor dem Löschen von Tabellen im Hive-Metastore entfernt wird. Dies ist für in AWS Lake Formation registrierte Tabellen erforderlich, da die Anmeldeinformationen für AWS Lake Formation 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 die Amazon-S3-Anmeldeinformationen für AWS Lake Formation für in AWS Lake Formation registrierte Tabellen verwendet. Wenn die Tabelle nicht registriert ist, verwenden Sie die Standardanmeldeinformationen für die Umgebung.
Nutzungsmuster
Verwendung von FTA mit DataFrames
Für Benutzer, die mit Spark vertraut sind, kann DataFrames mit Full Table Access von AWS Lake Formation 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. Dieses Feature ermöglicht es AWS Glue-Spark-Aufträgen von AWS Glue 5.0, Daten direkt zu lesen und zu schreiben, wenn vollständiger Tabellenzugriff gewährt wird, wodurch Einschränkungen aufgehoben werden, die zuvor bestimmte ETL-Operationen (Extract, Transform, Load) einschränkten. Sie können jetzt erweiterte Spark-Funktionen wie Resilient Distributed Datasets (RDDs), benutzerdefinierte Bibliotheken und User Defined Functions (UDFs) mit Tabellen von AWS Lake Formation nutzen.
Natives Spark-FTA in AWS Glue 5.0
AWS Glue 5.0 unterstützt die Steuerung des Full Table Access (FTA) in Apache Spark basierend auf Ihren in AWS Lake Formation definierten Richtlinien. Diese Kontrollebene ist ideal für Anwendungsfälle, bei denen Sicherheitsvorschriften auf Tabellenebene eingehalten werden müssen.
Beispiel für Apache-Iceberg-Tabellen
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 Auftragausführungsrolle von AWS Glue muss Folgendes haben:
{ "Action": "lakeformation:GetDataAccess", "Resource": "*", "Effect": "Allow" }
Außerdem die entsprechenden S3-Zugriffsberechtigungen für Ihre Datenspeicherorte.
Lake-Formation-Konfiguration
Vor der Verwendung von nativem Spark-FTA in AWS Glue 5.0:
-
Erlauben Sie Abfrage-Engines von Drittanbietern den Zugriff auf Daten ohne Überprüfung des IAM-Sitzungstags in AWS Lake Formation.
-
Erteilen Sie Ihrer Auftragsausführungsrolle von AWS Glue über die AWS Lake Formation-Konsole die entsprechenden Tabellenberechtigungen.
-
Konfigurieren Sie Ihre Spark-Sitzung mit den erforderlichen Parametern, die im obigen Beispiel gezeigt werden.
Verwendung von FTA mit DynamicFrames
Die nativen DynamicFrames von AWS Glue können mit AWS Lake Formation Full Table Access für optimierte ETL-Operationen verwendet werden. Full Table Access (FTA) bietet ein Sicherheitsmodell, das Berechtigungen auf Tabellenebene gewährt. Das 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 4.0 erforderten DynamicFrames mit FTA eine spezielle GlueContext-Konfiguration. Bestehender DynamicFrame-Code von AWS Glue 4.0 mit FTA wird zwar auch in AWS Glue 5.0 funktionieren, aber die neuere Version bietet auch native Spark-FTA-Unterstützung mit größerer Flexibilität. Für neue Entwicklungen sollten Sie erwägen, den im Abschnitt „DataFrames“ beschriebenen systemeigenen Spark-Ansatz zu verwenden, insbesondere wenn Sie zusätzliche Funktionen wie Resilient Distributed Datasets (RDDs), benutzerdefinierte Bibliotheken und User Defined Functions (UDFs) mit Tabellen von AWS Lake Formation benötigen.
Erforderliche Berechtigungen
Die IAM-Rolle, die Ihren Glue-Auftrag ausführt, muss Folgendes haben:
-
lakeformation:GetDataAccess-Berechtigung -
Entsprechende Lake-Formation-Tabellenberechtigungen, die über die Lake-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 des vollständigen Tabellenzugriffsmodus in AWS Glue Studio-Notebooks
Um aus interaktiven Spark-Sitzungen in AWS Glue Studio-Notebooks auf in AWS Lake Formation registrierte Tabellen zuzugreifen, müssen Sie den Kompatibilitätsberechtigungsmodus verwenden. Verwenden Sie den %%configure-Magic-Befehl, um Ihre Spark-Konfiguration einzurichten, bevor Sie Ihre interaktive Sitzung starten. Diese Konfiguration muss der erste Befehl in Ihrem Notebook 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-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 --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 (z. B. us-east-1) -
ACCOUNT_ID:
Ihre AWS-Konto-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 Anmeldeinformationen für AWS Lake Formation für den Zugriff auf die Tabellendaten verwendet.
Anmerkung
Bei der Aktivierung von AWS Lake Formation:
-
Für FTA: Aktivieren der Spark-Konfiguration
spark.sql.catalog.{catalog_name}.glue.lakeformation-enabled
-
CREATE TABLE
-
ALTER TABLE
-
INSERT INTO
-
INSERT OVERWRITE
-
SELECT
-
UPDATE
-
MERGE INTO
-
DELETE FROM
-
ANALYZE TABLE
-
REPAIR TABLE
-
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 AWS Glue 5.0 FTA
Bei der Migration von AWS Glue 4.0 GlueContext FTA auf native Spark-FTA von AWS Glue 5.0:
-
Erlauben Sie Abfrage-Engines von Drittanbietern den Zugriff auf Daten ohne Überprüfung des IAM-Sitzungstags in AWS Lake Formation. Befolgen Sie Schritt 1: Aktivieren von Full Table Access in AWS Lake Formation.
-
Sie müssen die Auftrag-Laufzeitrolle nicht ändern. Stellen Sie jedoch sicher, dass die Auftrag-Ausführungsrolle von AWS Glue über die IAM-Berechtigung lakeformation:GetDataAccess 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 in native Spark-DataFrames geändert werden.
-
Aktualisierung Ihres AWS Glue-Auftrags, damit er AWS Glue 5.0 verwendet
Überlegungen und Einschränkungen
-
Wenn eine Hive-Tabelle mit einem Auftrag 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 Auftrag 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, haben Sie folgende Möglichkeiten:
-
Fügen Sie mindestens eine Zeile aus einem Auftrag in die Tabelle ein, für den FTA nicht aktiviert ist.
-
Konfigurieren Sie den Auftrag, für den FTA nicht aktiviert ist, so, dass er das Suffix „$folder$“ im Ordnernamen in S3 nicht verwendet. Dies kann durch Einstellen der Spark-Konfiguration
spark.hadoop.fs.s3.useDirectoryHeaderAsFolderObject=trueerreicht werden. -
Erstellen eines Amazon-S3-Ordners am Tabellenspeicherort
s3://path/to/table/table_namemit der Amazon-S3-Konsole oder Amazon-S3-CLI.
-
-
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.
-
Aufträge, die auf Tabellen mit FGAC-Regeln (Fine-Grained Access Control) von AWS Lake Formation oder Datenkatalogsichten von AWS Glue verweisen, schlagen fehl. Um eine Tabelle mit FGAC-Regeln oder einer Datenkatalogsicht von AWS Glue 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 von AWS Glue mit AWS Lake Formation für eine differenzierte Zugriffskontrolle.
-
Der vollständige Tabellenzugriff unterstützt Spark Streaming nicht.
-
Kann nicht gleichzeitig mit FGAC verwendet werden.