Ejemplos de extractores de rutas
En los ejemplos siguientes de extractores de rutas se muestra cómo aplanar los campos y cambiarles el nombre o extraer datos como texto de Amazon Ion.
Aplanado y cambio de nombre de los campos
En el siguiente ejemplo, se muestra un conjunto de rutas de búsqueda que aplanan y cambian los nombres de los campos. En el ejemplo, se utilizan las rutas de búsqueda para hacer lo siguiente:
-
asignar la columna
nickname
al campoalias
y -
asignar la columna
name
al subcamponame
ubicado en la estructuraidentification
.
A continuación, se presenta el documento de Amazon Ion de ejemplo.
-- Example Amazon Ion Document { identification: { name: "John Smith", driver_license: "XXXX" }, alias: "Johnny" }
A continuación, se muestra la instrucción CREATE TABLE
de ejemplo que define los extractores de rutas.
-- Example DDL Query CREATE EXTERNAL TABLE example_schema2 ( name STRING, nickname STRING ) ROW FORMAT SERDE 'com.amazon.ionhiveserde.IonHiveSerDe' WITH SERDEPROPERTIES ( 'ion.nickname.path_extractor' = '(alias)', 'ion.name.path_extractor' = '(identification name)' ) STORED AS ION LOCATION 's3://amzn-s3-demo-bucket/path_extraction2/'
En el siguiente ejemplo, se muestran los datos extraídos.
-- Extracted Table | name | nickname | |--------------|--------------| | "John Smith" | "Johnny" |
Para obtener más información sobre las rutas de búsqueda y ejemplos de rutas de búsqueda adicionales, consulte Extracción de rutas Ion Java
Extracción de datos de vuelo en formato de texto
En el siguiente ejemplo, la consulta CREATE TABLE
utiliza WITH
SERDEPROPERTIES
para agregar extractores de rutas con el objetivo de extraer datos de vuelo y especificar la codificación de salida como texto de Amazon Ion. En el ejemplo se utiliza la sintaxis STORED AS
ION
.
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' WITH SERDEPROPERTIES ( 'ion.encoding' = 'TEXT', 'ion.yr.path_extractor'='(year)', 'ion.quarter.path_extractor'='(results quarter)', 'ion.month.path_extractor'='(date month)') STORED AS ION LOCATION 's3://amzn-s3-demo-bucket/'