경로 추출기 예제
다음 경로 추출기 예제는 필드를 평면화하고 이름을 바꾸는 방법 또는 데이터를 Amazon Ion 텍스트로 추출하는 방법을 보여줍니다.
필드 평면화 및 이름 바꾸기
다음 예제에서는 필드를 평면화하고 이름을 바꾸는 검색 경로 집합을 보여 줍니다. 이 예제에서는 검색 경로를 사용하여 다음을 수행합니다.
-
nickname
열을alias
필드로 매핑 -
name
열을identification
구조체에 위치한name
하위 필드로 매핑.
다음은 Amazon Ion 문서의 예입니다.
-- Example Amazon Ion Document { identification: { name: "John Smith", driver_license: "XXXX" }, alias: "Johnny" }
다음은 경로 추출기를 정의하는 CREATE TABLE
문의 예입니다.
-- 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/'
다음 예제에서는 추출된 데이터를 보여줍니다.
-- Extracted Table | name | nickname | |--------------|--------------| | "John Smith" | "Johnny" |
검색 경로 및 추가 검색 경로 예제에 대한 자세한 내용은 GitHub의 Ion Java Path Extraction
비행 데이터를 텍스트 형식으로 추출
다음 CREATE TABLE
쿼리 예제는 WITH
SERDEPROPERTIES
를 사용하여 비행 데이터를 추출하기 위한 경로 추출기를 추가하고 출력 인코딩을 Amazon Ion 텍스트로 지정합니다. 이 예제에서는 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/'