Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Avro SerDe

Fokusmodus
Avro 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.

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 Sie Avro SerDe , um Athena-Tabellen aus Avro-Daten zu erstellen.

Name der Serialisierungsbibliothek

Der Name der Serialisierungsbibliothek für SerDe Avro lautet. org.apache.hadoop.hive.serde2.avro.AvroSerDe Technische Informationen finden Sie AvroSerDein der Apache-Dokumentation.

Verwenden Sie den Avro SerDe

Aus Sicherheitsgründen unterstützt Athena die Verwendung avro.schema.url zur Angabe eines Tabellenschemas nicht. Verwenden Sie avro.schema.literal stattdessen.

Um ein Schema aus Daten im Avro-Format zu extrahieren, verwenden Sie die avro-tools-<version>.jar Apache-Datei, die sich im java Unterverzeichnis Ihrer installierten Avro-Version befindet. Verwenden Sie den getschema Parameter, um ein Schema zurückzugeben, das Sie in Ihrer WITH SERDEPROPERTIES Anweisung verwenden können, wie im folgenden Beispiel.

java -jar avro-tools-1.8.2.jar getschema my_data.avro

Informationen zum Herunterladen von Avro finden Sie unter Apache Avro Releases. Informationen zum direkten Herunterladen der Apache Avro-Tools finden Sie unter Apache Avro Tools Maven Repository.

Nachdem Sie das Schema abgerufen haben, verwenden Sie eine CREATE TABLE Anweisung, um eine Athena-Tabelle auf der Grundlage der in Amazon S3 gespeicherten Avro-Daten zu erstellen. Um den Avro SerDe in Ihrem CREATE TABLE Kontoauszug anzugeben, verwenden Sie. ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' Geben Sie das Schema mithilfe der WITH SERDEPROPERTIES Klausel an, wie im folgenden Beispiel.

Anmerkung

Ersetzen myregion s3://athena-examples-myregion/path/to/data/mit der Regionskennung ein, in der Sie Athena ausführen, zum Beispiel. s3://athena-examples-us-west-1/path/to/data/

CREATE EXTERNAL TABLE flights_avro_example ( yr INT, flightdate STRING, uniquecarrier STRING, airlineid INT, carrier STRING, flightnum STRING, origin STRING, dest STRING, depdelay INT, carrierdelay INT, weatherdelay INT ) PARTITIONED BY (year STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' WITH SERDEPROPERTIES ('avro.schema.literal'=' { "type" : "record", "name" : "flights_avro_subset", "namespace" : "default", "fields" : [ { "name" : "yr", "type" : [ "null", "int" ], "default" : null }, { "name" : "flightdate", "type" : [ "null", "string" ], "default" : null }, { "name" : "uniquecarrier", "type" : [ "null", "string" ], "default" : null }, { "name" : "airlineid", "type" : [ "null", "int" ], "default" : null }, { "name" : "carrier", "type" : [ "null", "string" ], "default" : null }, { "name" : "flightnum", "type" : [ "null", "string" ], "default" : null }, { "name" : "origin", "type" : [ "null", "string" ], "default" : null }, { "name" : "dest", "type" : [ "null", "string" ], "default" : null }, { "name" : "depdelay", "type" : [ "null", "int" ], "default" : null }, { "name" : "carrierdelay", "type" : [ "null", "int" ], "default" : null }, { "name" : "weatherdelay", "type" : [ "null", "int" ], "default" : null } ] } ') STORED AS AVRO LOCATION 's3://athena-examples-myregion/flight/avro/';

Führen Sie die MSCK REPAIR TABLE-Anweisung auf der Tabelle aus, um die Partitionsmetadaten zu aktualisieren.

MSCK REPAIR TABLE flights_avro_example;

Fragen Sie die am häufigsten genutzten 10 Abflugstädte, gemessen an der Anzahl der Abflüge, ab.

SELECT origin, count(*) AS total_departures FROM flights_avro_example WHERE year >= '2000' GROUP BY origin ORDER BY total_departures DESC LIMIT 10;
Anmerkung

Die Flugtabellendaten stammen aus Flügen, die vom US-Verkehrsministerium, Bureau of Transportation Statistics, bereitgestellt werden. Entsättigt vom Original.

Auf dieser Seite

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.