Exemples d'extracteurs de chemins - Amazon Athena

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemples d'extracteurs de chemins

Les exemples d'extracteurs de chemin suivants montrent comment aplatir et renommer des champs ou comment extraire des données sous forme de texte Amazon Ion.

Aplatir et renommer les champs

L'exemple suivant montre un ensemble de chemins de recherche qui aplatissent et renomment les champs. L'exemple utilise des chemins de recherche pour effectuer les opérations suivantes :

  • Mapper la colonne nickname au champ alias

  • Mapper la colonne name au sous-champ name situé dans le struct identification.

Voici l'exemple de document Amazon Ion.

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

Voici l'exemple suivant d'instruction CREATE TABLE qui définit les extracteurs de chemin.

-- 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'exemple suivant montre les données extraites.

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

Pour plus d'informations sur les chemins de recherche et d'autres exemples de chemins de recherche, consultez la page Ion Java Path Extraction sur GitHub.

Extraire les données de vol au format texte

L'exemple de requête CREATE TABLE suivant utilise WITH SERDEPROPERTIES pour ajouter des extracteurs de chemin pour extraire les données de vol et spécifier le codage de sortie sous forme de texte Amazon Ion. L'exemple utilise la syntaxe 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/'