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,INPUTFORMATundOUTPUTFORMATan.
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.