Amazon Ion Hive SerDe - Amazon Athena

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.

Amazon Ion Hive SerDe

Sie können Amazon Ion Hive SerDe verwenden, um Daten abzufragen, die im Amazon-Ion-Format gespeichert sind. Amazon Ion ist ein reich typisiertes, selbstbeschreibendes Open-Source-Datenformat. Das Amazon-Ion-Format wird von Diensten wie Amazon Quantum Ledger Database (Amazon QLDB) und in der Open-Source-SQL-Abfragesprache PartiQL verwendet.

Amazon Ion verfügt über Binär- und Textformate, die austauschbar sind. Dieses Feature kombiniert die Benutzerfreundlichkeit von Text mit der Effizienz der Binärcodierung.

Um Amazon Ion-Daten von Athena abzufragen, können Sie Amazon Ion Hive SerDe verwenden, das Amazon-Ion-Daten serialisiert und deserialisiert. Die Deserialisierung ermöglicht es Ihnen, Abfragen zu den Amazon-Ion-Daten auszuführen oder sie zu lesen, um sie in ein anderes Format wie Parquet oder ORC zu schreiben. Mit der Serialisierung können Sie Daten im Amazon-Ion-Format generieren, indem Sie CREATE TABLE AS SELECT (CTAS)- oder INSERT INTO-Abfragen verwenden, um Daten aus vorhandenen Tabellen zu kopieren.

Anmerkung

Da Amazon Ion eine Obermenge von JSON ist, können Sie den Amazon Ion Hive SerDe verwenden, um JSON-Datensätze außerhalb von Amazon Ion abzufragen. Im Gegensatz zu anderen JSON-SerDe-Bibliotheken erwartet Amazon Ion SerDe nicht, dass sich jede Datenzeile in einer einzelnen Zeile befindet. Dieses Feature ist nützlich, wenn Sie JSON-Datensätze im „Pretty Print“-Format abfragen oder die Felder in einer Zeile mit Zeilenumbruchzeichen aufteilen möchten.

Weitere Informationen und Beispiele für die Abfrage von Amazon Ion mit Athena finden Sie unter Analysieren von Amazon-Ion-Datensätzen mit Amazon Athena.

SerDe-Name

Überlegungen und Einschränkungen

  • Doppelte Felder – Amazon-Ion-Strukturen sind geordnet und unterstützen duplizierte Felder, während STRUCT<> und MAP<> von Hive dies nicht tun. Wenn Sie also ein dupliziertes Feld aus einer Amazon-Ion-Struktur deserialisieren, wird ein einzelner Wert nicht deterministisch gewählt und die anderen werden ignoriert.

  • Externe Symboltabellen werden nicht unterstützt – Derzeit unterstützt Athena keine externen Symboltabellen oder die folgenden Amazon Ion Hive SerDe Eigenschaften:

    • ion.catalog.class

    • ion.catalog.file

    • ion.catalog.url

    • ion.symbol_table_imports

  • Dateierweiterungen – Amazon Ion verwendet Dateierweiterungen, um zu ermitteln, welcher Komprimierungs-Codec für die Deserialisierung von Amazon-Ion-Dateien verwendet werden soll. Als solche müssen komprimierte Dateien die Dateierweiterung haben, die dem verwendeten Komprimierungs-Algorithmus entspricht. Wenn beispielsweise ZSTD verwendet wird, sollten entsprechende Dateien die Erweiterung .zst haben.

  • Homogene Daten – Amazon Ion hat keine Beschränkungen für die Datentypen, die für Werte in bestimmten Feldern verwendet werden können. Beispielsweise können zwei verschiedene Amazon Ion-Dokumente ein Feld mit demselben Namen haben, das verschiedene Datentypen hat. Da Hive jedoch ein Schema verwendet, müssen alle Werte, die Sie in eine einzelne Hive-Spalte extrahieren, denselben Datentyp haben.

  • Beschränkungen für Schlüsseltypen zuweisen – Wenn Sie Daten aus einem anderen Format in Amazon Ion serialisieren, stellen Sie sicher, dass der Map-Schlüsseltyp einer von STRING, VARCHAR, oder CHAR ist. Obwohl Sie mit Hive jeden primitiven Datentyp als Zuordnungsschlüssel verwenden können, müssen Amazon-Ion-Symbole vom Typ Zeichenfolge sein.

  • Union-Art – Athena unterstützt die Hive-Union-Art derzeit nicht.

  • Doppelter Datentyp — Amazon Ion unterstützt den Datentyp double derzeit nicht.