Utilisation de CREATE TABLE pour créer des tables Amazon Ion - Amazon Athena

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de CREATE TABLE pour créer des tables Amazon Ion

Pour créer une table dans Athena à partir de données stockées au format Amazon Ion, vous pouvez utiliser l'une des techniques suivantes dans une instruction CREATE TABLE :

  • Spécifiez STORED AS ION. Dans cette utilisation, vous n'avez pas besoin de spécifier explicitement le SerDe Amazon Ion Hive. Ce choix est l'option la plus simple.

  • Spécifiez les chemins d'accès de classe Amazon Ion dans les champs ROW FORMAT SERDE, INPUTFORMAT, et OUTPUTFORMAT.

Vous pouvez également utiliser des instructions CREATE TABLE AS SELECT (CTAS) pour créer des tables Amazon Ion dans Athena. Pour plus d'informations, consultez Utilisation de CTAS et de INSERT INTO pour créer des tables Amazon Ion.

Spécification de STORED AS ION

L'exemple d'instruction CREATE TABLE suivant utilise la STORED AS ION avant la clause LOCATION pour créer une table basée sur des données de vol au format Amazon Ion. La clause LOCATION indique le compartiment ou le dossier où se trouvent les fichiers d'entrée au format Ion. Tous les fichiers se trouvant à l'emplacement spécifié sont analysés.

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://DOC-EXAMPLE-BUCKET/'

Spécification des chemins de classe Amazon Ion

Au lieu d'utiliser la syntaxe STORED AS ION, vous pouvez spécifier explicitement les valeurs de chemin d'accès de classe Ion pour les clauses ROW FORMAT SERDE, INPUTFORMAT, et OUTPUTFORMAT comme suit.

Paramètre Chemin de classe Ion
ROW FORMAT SERDE 'com.amazon.ionhiveserde.IonHiveSerDe'
STORED AS INPUTFORMAT 'com.amazon.ionhiveserde.formats.IonInputFormat'
OUTPUTFORMAT 'com.amazon.ionhiveserde.formats.IonOutputFormat'

La requête DDL suivante utilise cette technique pour créer la même table externe que dans l'exemple précédent.

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://DOC-EXAMPLE-BUCKET/'

Pour plus d'informations sur les propriétés SerDe pour les instructions CREATE TABLE dans Athena, voir Utilisation des propriétés SerDe Amazon Ion.