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.
Unterstützung für das offene Tabellenformat
Die Amazon EMR-Versionen 6.15.0 und höher bieten Unterstützung für eine differenzierte Zugriffskontrolle, die auf Hive-Tabellen, Apache Iceberg, Apache Hudi und Delta Lake basiert, wenn Sie Daten AWS Lake Formation mit Spark SQL lesen und schreiben. Amazon EMR unterstützt die Zugriffskontrolle auf Tabellen-, Zeilen-, Spalten- und Zellenebene mit Apache Hudi. Die Amazon EMR-Versionen 6.15.0 und höher bieten Unterstützung für eine differenzierte Zugriffskontrolle auf Zeilen-, Spalten- oder Zellenebene basierend auf Lake Formation. AWS Ab EMR 7.12 werden DML- und DDL-Operationen, die Tabellendaten ändern, für Apache Hive-, Apache Iceberg- und Delta Lake-Tabellen mit von Lake Formation vergebenen Anmeldeinformationen unterstützt.
Die Themen in diesem Abschnitt behandeln, wie Sie über EMR Spark-Jobs oder interaktive Sitzungen mit detaillierter Zugriffskontrolle auf registrierte Lake Formation-Tabellen in offenen Tabellenformaten zugreifen können.
Benötigte Berechtigungen
Tabellen, die nicht registriert sind in AWS Lake Formation
Bei Tabellen AWS Lake Formation, bei denen nicht registriert ist, greift die Job-Runtime-Rolle sowohl auf den AWS Glue-Datenkatalog als auch auf die zugrunde liegenden Tabellendaten in Amazon S3 zu. Dazu muss die Job-Runtime-Rolle über die entsprechenden IAM-Berechtigungen sowohl für AWS Glue- als auch für Amazon S3 S3-Operationen verfügen.
Tabellen sind registriert in AWS Lake Formation
Bei Tabellen AWS Lake Formation, bei denen registriert ist, greift die Job-Runtime-Rolle auf die Metadaten des AWS Glue-Datenkatalogs zu, während temporäre Anmeldeinformationen, die von Lake Formation bereitgestellt wurden, auf die zugrunde liegenden Tabellendaten in Amazon S3 zugreifen. Die Lake Formation Formation-Berechtigungen, die zur Ausführung eines Vorgangs erforderlich sind, hängen vom AWS Glue Data Catalog und den Amazon S3 S3-API-Aufrufen ab, die der Spark-Job initiiert, und lassen sich wie folgt zusammenfassen:
-
Die DESCRIBE-Berechtigung ermöglicht es der Runtime-Rolle, Tabellen- oder Datenbankmetadaten im Datenkatalog zu lesen
-
Die ALTER-Berechtigung ermöglicht der Runtime-Rolle, Tabellen- oder Datenbankmetadaten im Datenkatalog zu ändern
-
Die DROP-Berechtigung ermöglicht der Runtime-Rolle, Tabellen- oder Datenbankmetadaten aus dem Datenkatalog zu löschen
-
Die SELECT-Berechtigung ermöglicht es der Runtime-Rolle, Tabellendaten aus Amazon S3 zu lesen
-
Die INSERT-Berechtigung ermöglicht es der Runtime-Rolle, Tabellendaten in Amazon S3 zu schreiben
-
Die DELETE-Berechtigung ermöglicht es der Runtime-Rolle, Tabellendaten aus Amazon S3 zu löschen
Lake Formation wertet Berechtigungen träge aus, wenn ein Spark-Job AWS Glue zum Abrufen von Tabellenmetadaten und Amazon S3 zum Abrufen von Tabellendaten aufruft. Jobs, die eine Runtime-Rolle mit unzureichenden Berechtigungen verwenden, schlagen erst fehl, wenn Spark einen AWS Glue- oder Amazon S3-Aufruf tätigt, für den die fehlende Berechtigung erforderlich ist.
In der folgenden unterstützten Tabellenmatrix:
-
Als Unterstützt markierte Operationen verwenden ausschließlich Lake Formation-Anmeldeinformationen, um auf Tabellendaten für Tabellen zuzugreifen, die bei Lake Formation registriert sind. Wenn die Lake Formation Formation-Berechtigungen nicht ausreichen, greift der Vorgang nicht auf Anmeldeinformationen für Runtime-Rollen zurück. Bei Tabellen, die nicht bei Lake Formation registriert sind, greifen die Anmeldeinformationen der Job-Runtime-Rolle auf die Tabellendaten zu.
-
Operationen, die als Unterstützt mit IAM-Berechtigungen am Amazon S3-Standort markiert sind, verwenden keine Lake Formation Formation-Anmeldeinformationen für den Zugriff auf die zugrunde liegenden Tabellendaten in Amazon S3. Um diese Operationen auszuführen, muss die Job-Runtime-Rolle über die erforderlichen Amazon S3 S3-IAM-Berechtigungen für den Zugriff auf die Tabellendaten verfügen, unabhängig davon, ob die Tabelle bei Lake Formation registriert ist.
- Hive
-
| Operation |
AWS Lake Formation Berechtigungen |
Status der Support |
| SELECT |
SELECT |
Unterstützt |
| CREATE TABLE |
CREATE_TABLE |
Unterstützt |
| CREATE TABLE LIKE |
TABELLE ERSTELLEN |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| CREATE TABLE AS SELECT |
CREATE_TABLE |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| DESCRIBE TABLE |
DESCRIBE |
Unterstützt |
| SHOW TBLPROPERTIES |
DESCRIBE |
Unterstützt |
| SHOW_COLUMNS |
DESCRIBE |
Unterstützt |
| SHOW PARTITIONS |
DESCRIBE |
Unterstützt |
| SHOW CREATE TABLE |
DESCRIBE |
Unterstützt |
TABELLE ÄNDERN tablename |
SELECT und ALTER |
Unterstützt |
POSITION DES tablename TABELLENSETS ÄNDERN |
- |
Nicht unterstützt |
TABELLE ÄNDERN PARTITION tablename HINZUFÜGEN |
AUSWÄHLEN, EINFÜGEN und ÄNDERN |
Unterstützt |
| REPAIR TABLE |
SELECT und ALTER |
Unterstützt |
| DATEN LADEN |
|
Nicht unterstützt |
| INSERT |
INSERT und ALTER |
Unterstützt |
| INSERT OVERWRITE |
AUSWÄHLEN, EINFÜGEN, LÖSCHEN und ÄNDERN |
Unterstützt |
| DROP TABLE |
AUSWÄHLEN, ABLEGEN, LÖSCHEN und ÄNDERN |
Unterstützt |
| TRUNCATE TABLE |
AUSWÄHLEN, EINFÜGEN, LÖSCHEN und ÄNDERN |
Unterstützt |
| Dataframe Writer V1 |
Entspricht der entsprechenden SQL-Operation |
Wird unterstützt, wenn Daten an eine bestehende Tabelle angehängt werden. Weitere Informationen finden Sie unter Überlegungen und Einschränkungen
|
| Dataframe Writer V2 |
Entspricht der entsprechenden SQL-Operation |
Wird unterstützt, wenn Daten an eine bestehende Tabelle angehängt werden. Weitere Informationen finden Sie unter Überlegungen und Einschränkungen
|
- Iceberg
-
| Operation |
AWS Lake Formation Berechtigungen |
Status der Support |
| SELECT |
SELECT |
Unterstützt |
| CREATE TABLE |
CREATE_TABLE |
Unterstützt |
| CREATE TABLE LIKE |
TABELLE ERSTELLEN |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| CREATE TABLE AS SELECT |
CREATE_TABLE |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| ERSETZT DIE TABELLE ALS AUSWAHL |
SELECT, INSERT und ALTER |
Unterstützt |
| DESCRIBE TABLE |
DESCRIBE |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| SHOW TBLPROPERTIES |
DESCRIBE |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| SHOW CREATE TABLE |
DESCRIBE |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| ALTER TABLE |
SELECT, INSERT und ALTER |
Unterstützt |
| ALTER TABLE SET LOCATION |
SELECT, INSERT und ALTER |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| ÄNDERN SIE DEN SCHREIBVORGANG IN DER TABELLE, GEORDNET NACH |
SELECT, INSERT und ALTER |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| DER SCHREIBVORGANG IN DER TABELLE WIRD VERTEILT VON |
SELECT, INSERT und ALTER |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| TABELLE ÄNDERN TABELLE UMBENENNEN |
CREATE_TABLE und DROP |
Unterstützt |
| INSERT INTO |
SELECT, INSERT und ALTER |
Unterstützt |
| INSERT OVERWRITE |
SELECT, INSERT und ALTER |
Unterstützt |
| DELETE |
SELECT, INSERT und ALTER |
Unterstützt |
| UPDATE |
SELECT, INSERT und ALTER |
Unterstützt |
| MERGE INTO |
SELECT, INSERT und ALTER |
Unterstützt |
| DROP TABLE |
AUSWÄHLEN, LÖSCHEN und ABLEGEN |
Unterstützt |
| DataFrame Writer V1 |
- |
Nicht unterstützt |
| DataFrame Schriftsteller V2 |
Entspricht der entsprechenden SQL-Operation |
Wird unterstützt, wenn Daten an eine bestehende Tabelle angehängt werden. Weitere Informationen finden Sie unter Überlegungen und Einschränkungen.
|
| Metadaten-Tabellen |
SELECT |
Unterstützt. Bestimmte Tabellen sind ausgeblendet. Weitere Informationen finden Sie unter Überlegungen und Einschränkungen. |
| Gespeicherte Prozeduren |
- |
Wird für Tabellen unterstützt, die die folgenden Bedingungen erfüllen:
-
Tabellen, die nicht registriert sind in AWS Lake Formation
-
Tabellen, die register_table und nicht verwenden migrate
Weitere Informationen finden Sie unter Überlegungen und Einschränkungen.
|
Spark-Konfiguration für Iceberg: Wenn Sie das Iceberg-Format verwenden möchten, legen Sie die folgenden Konfigurationen fest. DB_LOCATIONErsetzen Sie durch den Amazon S3 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
--conf spark.sql.catalog.spark_catalog=org.apache.iceberg.spark.SparkSessionCatalog
--conf spark.sql.catalog.spark_catalog.warehouse=s3://DB_LOCATION
--conf spark.sql.catalog.spark_catalog.catalog-impl=org.apache.iceberg.aws.glue.GlueCatalog
--conf spark.sql.catalog.spark_catalog.io-impl=org.apache.iceberg.aws.s3.S3FileIO
--conf spark.sql.catalog.spark_catalog.glue.account-id=ACCOUNT_ID
--conf spark.sql.catalog.spark_catalog.glue.id=ACCOUNT_ID
--conf spark.sql.catalog.spark_catalog.client.region=AWS_REGION
Wenn Sie das Iceberg-Format in früheren EMR-Versionen verwenden möchten, verwenden Sie stattdessen den folgenden Befehl:
spark-sql \
--conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions,com.amazonaws.emr.recordserver.connector.spark.sql.RecordServerSQLExtension
--conf spark.sql.catalog.spark_catalog=org.apache.iceberg.spark.SparkCatalog
--conf spark.sql.catalog.spark_catalog.warehouse=s3://DB_LOCATION
--conf spark.sql.catalog.spark_catalog.catalog-impl=org.apache.iceberg.aws.glue.GlueCatalog
--conf spark.sql.catalog.spark_catalog.io-impl=org.apache.iceberg.aws.s3.S3FileIO
--conf spark.sql.catalog.spark_catalog.glue.account-id=ACCOUNT_ID
--conf spark.sql.catalog.spark_catalog.glue.id=ACCOUNT_ID
--conf spark.sql.catalog.spark_catalog.client.assume-role.region=AWS_REGION
--conf spark.sql.catalog.spark_catalog.lf.managed=true
Beispiele:
Hier sind einige Beispiele für die Arbeit mit Iceberg-Tabellen:
-- Create an Iceberg table
CREATE TABLE my_iceberg_table (
id BIGINT,
name STRING,
created_at TIMESTAMP
) USING ICEBERG;
-- Insert data
INSERT INTO my_iceberg_table VALUES (1, 'Alice', current_timestamp());
-- Query the table
SELECT * FROM my_iceberg_table;
- Hudi
-
| Operation |
AWS Lake Formation Berechtigungen |
Status der Support |
| SELECT |
SELECT |
Unterstützt |
| CREATE TABLE |
CREATE_TABLE |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| CREATE TABLE LIKE |
CREATE_TABLE |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| CREATE TABLE AS SELECT |
- |
Nicht unterstützt |
| DESCRIBE TABLE |
DESCRIBE |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| SHOW TBLPROPERTIES |
DESCRIBE |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| SHOW_COLUMNS |
DESCRIBE |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| SHOW CREATE TABLE |
DESCRIBE |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| ALTER TABLE |
SELECT |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| INSERT INTO |
SELECT und ALTER |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| INSERT OVERWRITE |
SELECT und ALTER |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| DELETE |
- |
Nicht unterstützt |
| UPDATE |
- |
Nicht unterstützt |
| MERGE INTO |
- |
Nicht unterstützt |
| DROP TABLE |
AUSWÄHLEN und ABLEGEN |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| DataFrame Writer V1 |
- |
Nicht unterstützt |
| DataFrame Schriftsteller V2 |
Entspricht der entsprechenden SQL-Operation |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| Metadaten-Tabellen |
- |
Nicht unterstützt |
| Funktionen zur Tabellenverwaltung und Hilfsprogramme |
- |
Nicht unterstützt |
Spark-Konfiguration für Hudi:
Verwenden Sie den folgenden Befehl, um die Spark-Shell auf EMR 7.10 oder höheren Versionen zu starten:
spark-sql
--jars /usr/lib/hudi/hudi-spark-bundle.jar \
--conf spark.sql.catalog.spark_catalog=org.apache.spark.sql.hudi.catalog.HoodieCatalog \
--conf spark.sql.extensions=org.apache.spark.sql.hudi.HoodieSparkSessionExtension
Um die Spark-Shell auf früheren EMR-Versionen zu starten, verwenden Sie stattdessen den folgenden Befehl:
spark-sql
--jars /usr/lib/hudi/hudi-spark-bundle.jar \
--conf spark.serializer=org.apache.spark.serializer.KryoSerializer \
--conf spark.sql.catalog.spark_catalog=org.apache.spark.sql.hudi.catalog.HoodieCatalog \
--conf spark.sql.extensions=org.apache.spark.sql.hudi.HoodieSparkSessionExtension,com.amazonaws.emr.recordserver.connector.spark.sql.RecordServerSQLExtension \
--conf spark.sql.catalog.spark_catalog.lf.managed=true
Beispiele:
Hier sind einige Beispiele für die Arbeit mit Hudi-Tabellen:
-- Create a Hudi table
CREATE TABLE my_hudi_table (
id BIGINT,
name STRING,
created_at TIMESTAMP
) USING HUDI
TBLPROPERTIES (
'type' = 'cow',
'primaryKey' = 'id'
);
-- Insert data
INSERT INTO my_hudi_table VALUES (1, 'Alice', current_timestamp());
-- Query the latest snapshot
SELECT * FROM my_hudi_table;
Um den neuesten Snapshot von copy-on-write Tabellen abzufragen:
SELECT * FROM my_hudi_cow_table
spark.read.table("my_hudi_cow_table")
Um die neuesten komprimierten Daten von MOR-Tabellen abzufragen, können Sie die leseoptimierte Tabelle mit dem Suffix _ro abfragen:
SELECT * FROM my_hudi_mor_table_ro
spark.read.table("my_hudi_mor_table_ro")
- Delta Lake
-
| Operation |
AWS Lake Formation Berechtigungen |
Status der Support |
| SELECT |
SELECT |
Unterstützt |
| CREATE TABLE |
CREATE_TABLE |
Unterstützt |
| CREATE TABLE LIKE |
- |
Nicht unterstützt |
| CREATE TABLE AS SELECT |
TABELLE ERSTELLEN |
Unterstützt |
| ERSETZT DIE TABELLE ALS AUSWAHL |
SELECT, INSERT und ALTER |
Unterstützt |
| DESCRIBE TABLE |
DESCRIBE |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| SHOW TBLPROPERTIES |
DESCRIBE |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| SHOW_COLUMNS |
DESCRIBE |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| SHOW CREATE TABLE |
DESCRIBE |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| ALTER TABLE |
AUSWÄHLEN und EINFÜGEN |
Unterstützt |
| ALTER TABLE SET LOCATION |
AUSWÄHLEN und EINFÜGEN |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
ÄNDERN SIE DEN tablename TABELLENCLUSTER VON |
AUSWÄHLEN und EINFÜGEN |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
TABELLE ÄNDERN EINSCHRÄNKUNG tablename HINZUFÜGEN |
AUSWÄHLEN und EINFÜGEN |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
ÄNDERN SIE DIE EINSCHRÄNKUNG BEIM tablename ABLEGEN VON |
AUSWÄHLEN und EINFÜGEN |
Unterstützt mit IAM-Berechtigungen am Amazon S3 S3-Standort |
| INSERT INTO |
AUSWÄHLEN und EINFÜGEN |
Unterstützt |
| INSERT OVERWRITE |
AUSWÄHLEN und EINFÜGEN |
Unterstützt |
| DELETE |
AUSWÄHLEN und EINFÜGEN |
Unterstützt |
| UPDATE |
AUSWÄHLEN und EINFÜGEN |
Unterstützt |
| MERGE INTO |
AUSWÄHLEN und EINFÜGEN |
Unterstützt |
| DROP TABLE |
AUSWÄHLEN, LÖSCHEN und ABLEGEN |
Unterstützt |
| DataFrame Writer V1 |
- |
Nicht unterstützt |
| DataFrame Schriftsteller V2 |
Entspricht der entsprechenden SQL-Operation |
Unterstützt
|
| Funktionen zur Tabellenverwaltung und Hilfsprogramme |
- |
Nicht unterstützt |
Spark-Konfiguration für Delta Lake:
Führen Sie den folgenden Befehl aus, um Delta Lake mit Lake Formation auf EMR 7.10 und höher zu verwenden:
spark-sql \
--conf spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension \
--conf spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog
Um Delta Lake mit Lake Formation auf EMR 6.15 bis 7.9 zu verwenden, führen Sie den folgenden Befehl aus
spark-sql \
--conf spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension,com.amazonaws.emr.recordserver.connector.spark.sql.RecordServerSQLExtension \
--conf spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog \
--conf spark.sql.catalog.spark_catalog.lf.managed=true
Wenn Sie möchten, dass Lake Formation einen Datensatzserver zur Verwaltung Ihres Spark-Katalogs verwendet, legen Sie spark.sql.catalog.<managed_catalog_name>.lf.managed den Wert auf true fest.
Beispiele:
Hier sind einige Beispiele für die Arbeit mit Delta Lake-Tabellen:
-- Create a Delta Lake table
CREATE TABLE my_delta_table (
id BIGINT,
name STRING,
created_at TIMESTAMP
) USING DELTA;
-- Insert data
INSERT INTO my_delta_table VALUES (1, 'Alice', current_timestamp());
-- Query the table
SELECT * FROM my_delta_table;
-- Update data
UPDATE my_delta_table SET name = 'Alice Smith' WHERE id = 1;
-- Merge data
MERGE INTO my_delta_table AS target
USING (SELECT 2 as id, 'Bob' as name, current_timestamp() as created_at) AS source
ON target.id = source.id
WHEN MATCHED THEN UPDATE SET *
WHEN NOT MATCHED THEN INSERT *;
Erstellen einer Delta Lake-Tabelle im AWS Glue Data Catalog
Amazon EMR with Lake Formation unterstützt keine DDL-Befehle und die Erstellung von Delta-Tabellen in EMR-Versionen vor 7.12. Gehen Sie wie folgt vor, um Tabellen im AWS Glue-Datenkatalog zu erstellen.
-
Verwenden Sie das folgende Beispiel, um eine Delta-Tabelle zu erstellen. Stellen Sie sicher, dass Ihr S3-Standort existiert.
spark-sql \
--conf "spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension" \
--conf "spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog"
> CREATE DATABASE if not exists <DATABASE_NAME> LOCATION 's3://<S3_LOCATION>/transactionaldata/native-delta/<DATABASE_NAME>/';
> CREATE TABLE <TABLE_NAME> (x INT, y STRING, z STRING) USING delta;
> INSERT INTO <TABLE_NAME> VALUES (1, 'a1', 'b1');
-
Um die Details Ihrer Tabelle zu sehen, gehen Sie zu https://console.aws.amazon.com/glue/.
-
Erweitern Sie in der linken Navigationsleiste den Datenkatalog, wählen Sie Tabellen und dann die Tabelle aus, die Sie erstellt haben. Unter Schema sollten Sie sehen, dass die Delta-Tabelle, die Sie mit Spark erstellt haben, alle Spalten in einem Datentyp von array<string> in AWS Glue speichert.
-
Um Filter auf Spalten- und Zellenebene in Lake Formation zu definieren, entfernen Sie die col Spalte aus Ihrem Schema und fügen Sie dann die Spalten hinzu, die sich in Ihrem Tabellenschema befinden. Fügen Sie in diesem Beispiel die Spalten xy, und hinzu. z
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. Derzeit muss ein Lake Formation-fähiger Amazon EMR-Cluster die Commit-Zeitspalte von Hudi abrufen, um inkrementelle Abfragen und Zeitreiseabfragen durchzuführen. Die Syntax und die Funktion von Spark werden nicht unterstützt. timestamp as of Spark.read() Die richtige Syntax istselect * from table where _hoodie_commit_time <=
point_in_time. Weitere Informationen finden Sie unter Point-in-Time-Time-Travel-Abfragen in der Hudi-Tabelle.
Die Leistung von Lesevorgängen auf Lake Formation-Clustern kann aufgrund von Optimierungen, die nicht unterstützt werden, langsamer sein. Zu diesen Features gehören das Auflisten von Dateien auf der Grundlage von Hudi-Metadaten und das Überspringen von Daten. Wir empfehlen Ihnen, die Leistung Ihrer Anwendung zu testen, um sicherzustellen, dass sie Ihrem SLA entspricht.