Esempi di estrattori di percorso - Amazon Athena

Esempi di estrattori di percorso

I seguenti esempi di estrattori di percorso mostrano come appiattire e rinominare i campi o estrarre dati come testo Amazon Ion.

Appiattire e rinominare i campi

L'esempio seguente mostra una serie di percorsi di ricerca che appiattiscono e rinominano i campi. Nell'esempio vengono utilizzati i percorsi di ricerca per effettuare le operazioni seguenti:

  • Mappatura della colonna nickname per il campo alias

  • Mappatura della colonna name per il sottocampo name situato nella struttura identification.

Di seguito è riportato l'esempio di documento Amazon Ion.

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

Di seguito è riportato l'esempio dell'istruzione CREATE TABLE che definisce gli estrattori di percorso.

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

L'esempio seguente mostra i dati estratti.

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

Per ulteriori informazioni sui percorsi di ricerca e sugli esempi di percorsi di ricerca aggiuntivi, consultare la pagina Estrazione di persirso Ion Java su GitHub.

Estrarre dati di volo in formato testo

La seguente query di esempio CREATE TABLE utilizza WITH SERDEPROPERTIES per aggiungere estrattori di percorso per estrarre i dati di volo e specifica la codifica di output come testo Amazon Ion. Nell'esempio viene utilizzata la sintassi 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/'