Beispiele für Pfadextraktoren - Amazon Athena

Beispiele für Pfadextraktoren

Die folgenden Beispiele für Pfadextraktoren zeigen, wie Sie Felder abflachen und umbenennen oder Daten als Amazon Ion-Text extrahieren.

Felder abflachen und umbenennen

Das folgende Beispiel zeigt eine Reihe von Suchpfaden, die Felder abflachen und umbenennen. Im Beispiel werden Suchpfade verwendet, um Folgendes durchzuführen:

  • Ordnen Sie die nickname-Spalte dem alias-Feld zu

  • Ordnen Sie die name-Spalte dem name-Unterfeld zu, das sich in der identification-Struktur befindet.

Es folgt das Beispiel für Amazon-Ion-Dokument.

-- Example Amazon Ion Document { identification: { name: "John Smith", driver_license: "XXXX" }, alias: "Johnny" }

Das Folgende ist die beispielhafte CREATE TABLE-Anweisung, die die Pfad-Extraktoren definiert.

-- Example DDL Query CREATE EXTERNAL TABLE example_schema2 ( name STRING, nickname STRING ) ROW FORMAT SERDE 'com.amazon.ionhiveserde.IonHiveSerDe' WITH SERDEPROPERTIES ( 'ion.nickname.path_extractor' = '(alias)', 'ion.name.path_extractor' = '(identification name)' ) STORED AS ION LOCATION 's3://amzn-s3-demo-bucket/path_extraction2/'

Das folgende Beispiel zeigt die extrahierten Dateien.

-- Extracted Table | name | nickname | |--------------|--------------| | "John Smith" | "Johnny" |

Weitere Informationen zu Suchpfaden und weitere Beispiele für Suchpfade finden Sie auf der Seite Ion-Java-Pfad-Extraktion auf GitHub.

Flugdaten in Textformat extrahieren

Die folgende CREATE TABLE-Beispielabfrage verwendet WITH SERDEPROPERTIES, um Pfad-Extraktoren zum Extrahieren von Flugdaten hinzuzufügen und die Ausgabecodierung als Amazon-Ion-Text anzugeben. Im Beispiel wird die STORED AS ION-Syntax verwendet.

CREATE EXTERNAL TABLE flights_ion ( yr INT, quarter INT, month INT, dayofmonth INT, dayofweek INT, flightdate STRING, uniquecarrier STRING, airlineid INT, ) ROW FORMAT SERDE 'com.amazon.ionhiveserde.IonHiveSerDe' WITH SERDEPROPERTIES ( 'ion.encoding' = 'TEXT', 'ion.yr.path_extractor'='(year)', 'ion.quarter.path_extractor'='(results quarter)', 'ion.month.path_extractor'='(date month)') STORED AS ION LOCATION 's3://amzn-s3-demo-bucket/'