Criar tabelas do Amazon Ion - Amazon Athena

Criar tabelas do Amazon Ion

Para criar uma tabela no Athena com dados armazenados no formato Amazon Ion, você pode usar uma das seguintes técnicas em uma instrução CREATE TABLE:

  • Especifique STORED AS ION. Neste uso, você não precisa especificar explicitamente o Amazon Ion Hive SerDe. Essa escolha é a opção mais direta.

  • Especifique os caminhos de classe do Amazon Ion nos campos ROW FORMAT SERDE, INPUTFORMAT e OUTPUTFORMAT.

Você também pode usar instruções CREATE TABLE AS SELECT (CTAS) para criar tabelas do Amazon Ion no Athena. Para ter mais informações, consulte Usar CTAS e INSERT INTO para criar tabelas do Amazon Ion.

Especificar STORED AS ION

O exemplo a seguir de instrução CREATE TABLE usa STORED AS ION antes da cláusula LOCATION para criar uma tabela com base em dados de voo no formato Amazon Ion. A cláusula LOCATION especifica o bucket ou a pasta em que estão localizados os arquivos de entrada no formato Ion. Todos os arquivos no local especificado estão verificados.

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

Especificar caminhos de classe do Amazon Ion

Em vez de usar a sintaxe STORED AS ION, você pode especificar explicitamente os valores de caminho de classe do Ion para as cláusulas ROW FORMAT SERDE, INPUTFORMAT e OUTPUTFORMAT, como mostrado a seguir.

Parâmetro Caminho de classe do Ion
ROW FORMAT SERDE 'com.amazon.ionhiveserde.IonHiveSerDe'
STORED AS INPUTFORMAT 'com.amazon.ionhiveserde.formats.IonInputFormat'
OUTPUTFORMAT 'com.amazon.ionhiveserde.formats.IonOutputFormat'

A consulta DDL a seguir usa essa técnica para criar a mesma tabela externa do exemplo anterior.

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

Para obter informações sobre as propriedades SerDe para instruções CREATE TABLE no Athena, consulte Referência de propriedade SerDe do Amazon Ion.