如何更改Glue Crawler创建的自动检测分区的列名?

时间:2018-04-06 19:22:09

标签: amazon-athena aws-glue amazon-kinesis-firehose

我有一个用作Kinesis Firehose流目的地的存储桶。

Firehose使用yyyy/mm/dd/HH格式自动在该存储桶上创建基于日期的前缀。

然后我创建了一个爬虫程序,它将数据搜索到此存储桶并按如下方式配置:

Crawler configuration

运行爬网程序后,它会创建一个包含以下模式的表:

| #   | Column name   | Data type | Key           |
| --- | -----------   | --------- | ------------- |
| 1   | numberissues  | int       |               |
| 2   | group         | string    |               |
| 3   | createdat     | string    |               |
| 4   | companyunitid | string    |               |
| 5   | partition_0   | string    | Partition (0) |
| 6   | partition_1   | string    | Partition (1) |
| 7   | partition_2   | string    | Partition (2) |
| 8   | partition_3   | string    | Partition (3) |

如果我将partition-*重命名为他们的右侧对等yearmonthdayhour,则该表已准备好供我使用。< / p>

但是,如果抓取工具再次运行,则架构会将列名称显示为原始partition-*

我知道这适用于Hive分区模式year=2018/month=04...,但我想知道它是否可以提示&#34;提示&#34;关于分区字段名称的粘贴。

另一个替代方案是尝试更改Firehose前缀,但我找不到任何暗示甚至可能的内容。

1 个答案:

答案 0 :(得分:7)

在这种情况下,您可以设置“忽略更改而不更新数据目录”选项。

然后您可以重命名列。这将允许爬虫在下次运行时检测新分区,但保留名称。