Überlegungen und Einschränkungen
Berücksichtigen Sie bei der Verwendung des Apache-Hudi-Tabellen die folgenden Punkte.
-
Inkrementelle Abfragen – Athena unterstützt keine inkrementellen Abfragen.
-
CTAS – Athena unterstützt nicht CTAS oder INSERT INTO auf Hudi-Daten. Wenn Sie Athena-Unterstützung beim Schreiben von Hudi-Datensätzen wünschen, senden Sie Feedback an
<athena-feedback@amazon.com>.Weitere Informationen zum Schreiben von Hudi-Daten finden Sie in den folgenden Ressourcen:
-
Arbeiten mit einem Hudi-Datensatz im Amazon-EMR-Versionshandbuch.
-
Schreiben von Daten
in der Apache-Hudi-Dokumentation.
-
-
MSCK REPAIR TABLE – Die Verwendung von MSCK REPAIR TABLE auf Hudi-Tabellen in Athena wird nicht unterstützt. Wenn Sie eine Hudi-Tabelle laden müssen, die nicht in AWS Glue erstellt wurde, verwenden Sie ALTER TABLE ADD PARTITION.
-
Überspringen von Amazon-Glacier-Objekten wird nicht unterstützt – Wenn sich Objekte in der Apache–Hudi-Tabelle in einer Amazon-Glacier-Speicherklasse befinden, hat das Setzen der
read_restored_glacier_objects-Tabelleneigenschaft auffalsekeine Auswirkung.Angenommen, Sie führen den folgenden Befehl aus:
ALTER TABLEtable_nameSET TBLPROPERTIES ('read_restored_glacier_objects' = 'false')Bei Iceberg- und Delta-Lake-Tabellen erzeugt der Befehl den Fehler
Unsupported table property key: read_restored_glacier_objects. Bei Hudi-Tabellen erzeugt derALTER TABLE-Befehl keinen Fehler, aber Amazon-Glacier-Objekte werden immer noch nicht übersprungen. Beim Ausführen vonSELECT-Abfragen nach demALTER TABLE-Befehl werden weiterhin alle Objekte zurückgegeben. -
Zeitstempelabfragen – Derzeit schlagen Abfragen, die versuchen, Zeitstempelspalten in Hudi-Echtzeittabellen zu lesen, entweder fehl oder liefern leere Ergebnisse. Diese Einschränkung gilt nur für Abfragen, die eine Zeitstempelspalte lesen. Abfragen, die nur Spalten ohne Zeitstempel aus derselben Tabelle enthalten, sind erfolgreich.
Fehlgeschlagene Abfragen geben eine Meldung ähnlich der folgenden zurück:
GENERIC_INTERNAL_ERROR: Die Klasse org.apache.hadoop.io.ArrayWritable kann nicht in die Klasse org.apache.hadoop.hive.serde2.io.TimestampWritableV2 umgewandelt werden (org.apache.hadoop.io.ArrayWritable und org.apache.hadoop.hive.serde2.io.TimestampWritableV2 befinden sich in einem unbenannten Modul des Loaders io.trino.server.PluginClassLoader @75c67992)