Amazon-Ion-Tabellen erstellen - Amazon Athena

Amazon-Ion-Tabellen erstellen

Um eine Tabelle in Athena aus Daten zu erstellen, die im Amazon-Ion-Format gespeichert sind, können Sie eine der folgenden Techniken in einer CREATE-TABLE-Anweisung verwenden:

  • Geben Sie an STORED AS ION. Bei dieser Verwendung müssen Amazon Ion Hive SerDe nicht explizit angegeben werden. Diese Wahl ist die einfachere Option.

  • Geben Sie die Amazon-Ion-Klassenpfade in den Feldern ROW FORMAT SERDE, INPUTFORMAT und OUTPUTFORMAT an.

Sie können auch CREATE TABLE AS SELECT (CTAS)-Anweisungen verwenden, um Amazon-Ion-Tabellen in Athena zu erstellen. Weitere Informationen finden Sie unter Erstellen von Amazon-Ion-Tabellen mithilfe von CTAS und INSERT INTO.

GESPEICHERT ALS ION angeben

Die folgende beispielhafte CREATE TABLE-Anweisung verwendet STORED AS ION vor der LOCATION-Klausel, um eine Tabelle basierend auf Flugdaten im Amazon-Ion-Format zu erstellen. Die LOCATION-Klausel gibt den Bucket oder Ordner an, in dem sich die Eingabedateien im Ion-Format befinden. Alle Dateien am angegebenen Speicherort werden gescannt.

CREATE EXTERNAL TABLE flights_ion ( yr INT, quarter INT, month INT, dayofmonth INT, dayofweek INT, flightdate STRING, uniquecarrier STRING, airlineid INT, ) STORED AS ION LOCATION 's3://amzn-s3-demo-bucket/'

Die Amazon-Ion-Klassenpfade angeben

Anstatt die STORED AS ION-Syntax zu verwenden, können Sie die Ion-Klassenpfadwerte für die ROW FORMAT SERDE-, INPUTFORMAT- und OUTPUTFORMAT-Klauseln wie folgt explizit angeben.

Parameter Ion-Klassenpfad
ROW FORMAT SERDE 'com.amazon.ionhiveserde.IonHiveSerDe'
STORED AS INPUTFORMAT 'com.amazon.ionhiveserde.formats.IonInputFormat'
OUTPUTFORMAT 'com.amazon.ionhiveserde.formats.IonOutputFormat'

Die folgende DDL-Abfrage verwendet diese Technik, um dieselbe externe Tabelle wie im vorherigen Beispiel zu erstellen.

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' STORED AS INPUTFORMAT 'com.amazon.ionhiveserde.formats.IonInputFormat' OUTPUTFORMAT 'com.amazon.ionhiveserde.formats.IonOutputFormat' LOCATION 's3://amzn-s3-demo-bucket/'

Informationen zu den SerDe-Eigenschaften für CREATE TABLE-Anweisungen in Athena finden Sie unter Amazon Ion SerDe Eigenschaftsreferenz.