我正在一个包含多个具有不同架构的文件的文件夹上运行搜寻器。我希望如此找到每个文件的表。
发生的是,在Glue目录中,我实际上可以看到每个文件的表,并带有自己的模式。但是,当我尝试通过Redshift Spectrum(在创建外部架构等之后)对其进行查询时,出现了此异常:
[XX000][500310] [Amazon](500310) Invalid operation: Parsed manifest is not a valid JSON object.
如何解决?
我正在一个包含多个具有不同架构的文件的文件夹上运行搜寻器。我希望如此找到每个文件的表。
发生的是,在Glue目录中,我实际上可以看到每个文件的表,并带有自己的模式。但是,当我尝试通过Redshift Spectrum(在创建外部架构等之后)对其进行查询时,出现了此异常:
[XX000][500310] [Amazon](500310) Invalid operation: Parsed manifest is not a valid JSON object.
如何解决?
对于 Google 员工
如果爬网程序无法从其包含的文件夹中创建表格,则将 Glue 表格的 Location
设置为文件。
即文件:
Redshift Spectrum 或 Athena 不支持直接指向文件的 Location
,因此会出现此错误。
要解决此问题,请创建一个包含文件夹,并确保所有兄弟姐妹的格式相同。再次运行爬虫。
然后您应该会看到 Location
指向存储桶中的前缀。
根据该论坛的报道https://forums.aws.amazon.com/thread.jspa?threadID=266510
每个文件都应位于其自己的文件夹/子桶中
因此,对于我来说,将每个文件放在其自己的文件夹中并将Glue Crawler设置为在顶级文件夹上运行可以解决该异常。
我现在可以毫无问题地查询它。