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
eOUTPUTFORMAT
.
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.