

# 使用 Athena 生成的路径提取器
<a name="ion-serde-generated-path-extractors"></a>

默认情况下，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" |
```