Athena 生成パスエクストラクターを使用する - Amazon Athena

Athena 生成パスエクストラクターを使用する

デフォルトでは、Athena は、Hive の列名と一致する最上位レベルの Amazon Ion 値を検索し、それらの一致する値に基づいてランタイムにパスエクストラクタを作成します。Amazon Ion のデータ形式が Hive テーブルスキーマと一致する場合、Athena は動的にエクストラクタを生成します。したがって、それ以上パスエクストラクタを追加する必要はありません。このデフォルトのパスエクストラクタは、テーブルメタデータには保存されません。

次の例は、Athena が列名に基づいてエクストラクタを生成する方法を示しています。

-- Example Amazon Ion Document { identification: { name: "John Smith", driver_license: "XXXX" }, alias: "Johnny" } -- Example DDL CREATE EXTERNAL TABLE example_schema2 ( identification MAP<STRING, STRING>, alias STRING ) STORED AS ION LOCATION 's3://amzn-s3-demo-bucket/path_extraction1/'

次に示すのは、Athena によって生成されるエクストラクタの例です。最初のエクストラクタで identification フィールドを identification 列に抽出し、次のエクストラクタで alias フィールドを alias 列に抽出しています。

'ion.identification.path_extractor' = '(identification)' 'ion.alias.path_extractor' = '(alias)'

次の例は、抽出されたテーブルを示しています。

| identification | alias | |----------------------------------------------------|----------| |{["name", "driver_license"],["John Smith", "XXXX"]} | "Johnny" |