Exemplos de extratores de caminhos - Amazon Athena

Exemplos de extratores de caminhos

Os exemplos de extratores de caminhos a seguir mostram como nivelar e renomear campos ou extrair dados como texto do Amazon Ion.

Nivelar e renomear campos

O exemplo a seguir mostra um conjunto de caminhos de pesquisa que nivelam e renomeiam campos. O exemplo usa caminhos de pesquisa para:

  • Mapear a coluna nickname ao campo alias

  • Mapear a coluna name ao subcampo name localizado no struct identification.

O exemplo a seguir mostra o documento do Amazon Ion.

-- Example Amazon Ion Document { identification: { name: "John Smith", driver_license: "XXXX" }, alias: "Johnny" }

O exemplo a seguir mostra a instrução CREATE TABLE que define os extratores de caminhos.

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

O exemplo a seguir mostra os dados extraídos.

-- Extracted Table | name | nickname | |--------------|--------------| | "John Smith" | "Johnny" |

Para obter mais informações sobre caminhos de pesquisa e exemplos adicionais, consulte a página Ion Java Path Extraction (Extração de caminhos Java em Ion) no GitHub.

Extrair dados de voo para formato de texto

O exemplo de consulta CREATE TABLE a seguir usa WITH SERDEPROPERTIES para adicionar extratores de caminhos para extrair dados de voo e especificar a codificação de saída como texto do Amazon Ion. O exemplo usa a sintaxe 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/'