首页 文章

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

提问于
浏览
1

我有一个斗,用作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 ,则该表已准备好供我使用 .

但是,如果爬网程序再次运行,则架构会将列名称显示为原始 partition-* .

我知道这适用于Hive分区模式 year=2018/month=04... ,但我想知道是否有可能"hint" Glue有关分区字段名称 .

另一种选择是试图改变Firehose前缀,但我找不到任何暗示甚至可能的东西 .

1 回答

  • 5

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

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

相关问题