9

我正在从事一项 ETL 工作,该工作将把 JSON 文件摄取到 RDS 暂存表中。我配置的爬虫可以对小于 1MB 的 JSON 文件进行分类。如果我缩小文件(而不是漂亮的打印),如果结果小于 1MB,它将毫无问题地对文件进行分类。

我很难想出一个解决方法。我尝试将 JSON 转换为 BSON 或 GZIPing JSON 文件,但它仍然被归类为 UNKNOWN。

有没有其他人遇到过这个问题?有一个更好的方法吗?

4

3 回答 3

8

我有两个 42mb 和 16mb 的 json 文件,在 S3 上分区为路径:

  • s3://bucket/stg/年/月/_0.json

  • s3://bucket/stg/年/月/_1.json

我和你有同样的问题,爬虫分类为 UNKNOWN。

我能够解决它:

  • 您必须使用 jsonPath 作为 "$[*]" 创建自定义分类器,然后使用分类器创建新的爬虫。
  • 使用 S3 上的数据运行新的爬虫,将创建正确的架构。
  • 不要使用分类器更新您当前的爬虫,因为它不会应用更改,我不知道为什么,可能是因为他们的文档中提到的分类器版本控制 AWS。创建新的爬虫使它们工作
于 2018-07-26T04:49:05.963 回答
1

如中所述

https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html#custom-classifier-json

当您使用内置 JSON 分类器运行爬网程序时,整个文件用于定义架构。因为没有指定 JSON 路径,爬虫将数据视为一个对象,即只是一个数组。

这也是Dung在他的回答中指出的。

于 2018-09-14T11:22:58.823 回答
0

另请注意,文件编码可能导致 JSON 被归类为 UNKNOWN。请尝试将文件重新编码为 UTF-8。

于 2020-03-26T20:40:18.690 回答