Creación de tablas de Amazon Ion
Para crear una tabla en Athena a partir de los datos almacenados en formato Amazon Ion, puede utilizar una de las siguientes técnicas en una instrucción CREATE TABLE:
-
Especifique
STORED AS ION
. En este uso, no es necesario que especifique el SerDe de Amazon Ion Hive de forma explícita. Esta elección es la opción más sencilla. -
Especifique las rutas de clases de Amazon Ion en los campos
ROW FORMAT SERDE
,INPUTFORMAT
, yOUTPUTFORMAT
.
También puede utilizar las instrucciones CREATE TABLE AS SELECT
(CTAS) para crear tablas de Amazon Ion en Athena. Para obtener más información, consulte Uso de CTAS e INSERT INTO para crear tablas de Amazon Ion.
Especificación de STORED AS ION
La próxima instrucción CREATE TABLE
de ejemplo utiliza STORED AS
ION
antes de la cláusula LOCATION
para crear una tabla basada en datos de vuelos en formato Amazon Ion. La cláusula LOCATION
especifica el bucket o la carpeta donde se encuentran los archivos de entrada en formato Ion. Se analizan todos los archivos de la ubicación especificada.
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/'
Especificación de las rutas de clases de Amazon Ion
En lugar de utilizar la sintaxis STORED AS ION
, puede especificar de forma explícita los valores de la ruta de clase de Ion para las cláusulas ROW FORMAT SERDE
, INPUTFORMAT
, y OUTPUTFORMAT
de la siguiente manera.
Parámetro | Ruta de clase de Ion |
---|---|
ROW FORMAT SERDE |
'com.amazon.ionhiveserde.IonHiveSerDe' |
STORED AS INPUTFORMAT |
'com.amazon.ionhiveserde.formats.IonInputFormat' |
OUTPUTFORMAT |
'com.amazon.ionhiveserde.formats.IonOutputFormat' |
La siguiente consulta DDL utiliza esta técnica para crear la misma tabla externa que en el ejemplo 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 obtener información sobre las propiedades del SerDe para instrucciones CREATE TABLE
en Athena, consulte Referencia de la propiedad de SerDe de Amazon Ion.