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
nicknameper il campoalias -
Mappatura della colonna
nameper il sottocamponamesituato nella strutturaidentification.
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
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/'