Creare tabelle Amazon Ion - Amazon Athena

Creare tabelle Amazon Ion

Per creare una tabella in Athena dai dati archiviati in formato Amazon Ion, è possibile utilizzare una delle seguenti tecniche in un'istruzione CREATE TABLE:

  • Specifica STORED AS ION. In questo utilizzo non è necessario specificare in modo esplicito Amazon Ion Hive SerDE. Questa è l'opzione più semplice.

  • Specifica i percorsi della classe Amazon Ion nei campi ROW FORMAT SERDE, INPUTFORMAT e OUTPUTFORMAT.

È possibile utilizzare anche l'istruzione CREATE TABLE AS SELECT (CTAS) per creare tabelle Amazon Ion in Athena. Per informazioni, consulta Utilizzare CTAS e INSERT INTO per creare tabelle Amazon Ion.

Specificare STORED AS ION

La seguente istruzione di esempio CREATE TABLE utilizza STORED AS ION prima della clausola LOCATION per creare una tabella basata sui dati di volo in formato Amazon Ion. La clausola LOCATION specifica il bucket o la cartella in cui si trovano i file di input in formato Ion. Tutti i file nella posizione specificata vengono scansionati.

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/'

Specificare i percorsi della classe Amazon Ion

Invece di usare la sintassi STORED AS ION, è possibile specificare esplicitamente i valori del percorso della classe Ion per le clausole ROW FORMAT SERDE, INPUTFORMAT e OUTPUTFORMAT come segue.

Parametro Percorso della classe Ion
ROW FORMAT SERDE 'com.amazon.ionhiveserde.IonHiveSerDe'
STORED AS INPUTFORMAT 'com.amazon.ionhiveserde.formats.IonInputFormat'
OUTPUTFORMAT 'com.amazon.ionhiveserde.formats.IonOutputFormat'

La seguente query DDL utilizza questa tecnica per creare la stessa tabella esterna dell'esempio precedente.

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/'

Per informazioni sulle proprietà SerDE per le istruzioni CREATE TABLE in Athena, consulta Informazioni sulla proprietà SerDE di Amazon Ion .