我有一个用作Kinesis Firehose流目的地的存储桶。
Firehose使用yyyy/mm/dd/HH
格式自动在该存储桶上创建基于日期的前缀。
然后我创建了一个爬虫程序,它将数据搜索到此存储桶并按如下方式配置:
运行爬网程序后,它会创建一个包含以下模式的表:
| # | 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-*
重命名为他们的右侧对等year
,month
,day
和hour
,则该表已准备好供我使用。< / p>
但是,如果抓取工具再次运行,则架构会将列名称显示为原始partition-*
。
我知道这适用于Hive分区模式year=2018/month=04...
,但我想知道它是否可以提示&#34;提示&#34;关于分区字段名称的粘贴。
另一个替代方案是尝试更改Firehose前缀,但我找不到任何暗示甚至可能的内容。
答案 0 :(得分:7)
在这种情况下,您可以设置“忽略更改而不更新数据目录”选项。
然后您可以重命名列。这将允许爬虫在下次运行时检测新分区,但保留名称。