本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
路徑提取器示例
以下路徑擷取器範例顯示如何平面化和重新命名欄位,或將資料擷取為 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" |
如需有關搜尋路徑和其他搜尋路徑範例的詳細資訊,請參閱上的 Ion Java 路徑擷取
將飛行數據提取為文本格式
以下 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/'