首页 > 解决方案 > AWS 胶水:当 CSV 包含字符串和时间戳/日期值时,爬虫无法识别元数据

问题描述

当我们将 CSV 视为爬虫的输入时,我遇到了一件事

  1. 当所有数据都是 CSV 中的字符串格式时,爬虫不会识别列标题。

#P1 标题显示为 col0,col1...colN。#P2 并且实际的列名被视为数据。#P3 元数据(即列数据类型显示为字符串,即使 CSV 数据集包含日期/时间戳值)

  1. 如果我们要考虑自定义 (CSV) 分类器,那么我们将手动提及列标题。

#P2 将被覆盖,即列名将被删除,但 #P1 仍然保持不变。列标题将显示为 col0,col1...colN。

我想避免三件事并达到预期的结果。

  1. 仅包含字符串的 CSV 应显示实际的列名,而不是 col0、col1...colN。
  2. 一旦被爬虫爬取,生成的表的元数据应该正确显示(即日期/时间戳,字符串)。
  3. 如果使用自定义分类器,我们需要在分类器中手动提及列标题名称,但结果并不理想。需要通用解决方案而不是人工干预。

已阅读此文档:此处 如果有人已经实施了该解决方案,请提供帮助。

标签: csvaws-glueaws-glue-data-catalog

解决方案


我得到了上述问题之一的解决方案。通过在 CSV 分类器中使用“有标题”来显示标题,即 CSV 的第一行。

但是,以下解决方案尚未弄清楚。

  1. 即使列包含时间戳/日期值,CSV 文件的元数据也会显示为字符串。Crawler 将这些数据类型作为字符串读取。
  2. 自定义分类器需要人工干预。我已经提到了分类器中的所有列名。有通用解决方案吗?

推荐阅读