[XX000][500310] [Amazon](500310) 无效操作:解析的清单不是有效的 JSON 对象

Vzz*_*arr 4 amazon-s3 amazon-web-services amazon-redshift amazon-redshift-spectrum aws-glue

我正在一个包含多个具有不同架构的文件的文件夹上运行爬网程序。我希望为每个文件找到一个表。

发生的情况是,在 Glue Catalog 中,我实际上可以看到每个文件的一个表,以及它自己的架构。但是当我尝试通过 Redshift Spectrum 查询它时(创建外部架构等之后),我得到了这个异常:

[XX000][500310] [Amazon](500310) Invalid operation: Parsed manifest is not a valid JSON object.
Run Code Online (Sandbox Code Playgroud)

如何修复它?

dz9*_*902 5

对于谷歌员工:

如果无法从其包含的文件夹中创建表格,则爬网程序Location会将 Glue 表设置为文件。

也就是说,该文件:

  • 不在文件夹中,而是直接在存储桶的根路径中
  • 没有与同一文件夹中的同级文件兼容的文件格式、压缩方法或架构

LocationRedshift Spectrum 或 Athena 不支持直接指向文件,因此会出现此错误。

要解决此问题,请创建一个包含文件夹,并确保所有同级文件夹具有相同的格式。再次运行爬虫。

然后您应该看到Location指向存储桶中的前缀。