You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Glue爬虫能否为S3中ID为键的JSON生成指定Schema?直接读取是否合规?

问题

我在S3上有一个JSON数据文件,结构如下(每个对象的ID被用作键):

{"id_01": {"name": "Julie", "city": "Paris"},"id_02": {"name": "Marc", "city": "Lyon"},...}

请问AWS Glue爬虫能否生成如下格式的Schema?:

id|name|city

如果不能,直接从S3读取该文件而不先进行爬取是否属于最佳实践?

回答
  • 默认情况下,Glue爬虫没法生成你要的这种Schema。它会把顶层的id_01、id_02这类键识别成单独的字段,生成的Schema会是id_01: struct(name:string, city:string), id_02: struct(name:string, city:string)...这种嵌套结构,和你要的扁平化id|name|city完全不符。
  • 要拿到目标Schema,得先把原始JSON转成标准数组格式,比如:
    [{"id":"id_01", "name":"Julie", "city":"Paris"}, {"id":"id_02", "name":"Marc", "city":"Lyon"}, ...]
    
    之后再用Glue爬虫爬取,才能生成你需要的Schema。
  • 关于直接读S3的最佳实践:如果你的数据格式固定、后续不会频繁变动,直接读S3处理完全可行——比如写Glue ETL脚本手动解析原始JSON,把顶层键提取作为id字段,再和对应的name、city组合成目标结构。但如果数据结构可能变化,或者需要自动维护元数据、关联其他数据目录资源,还是建议先把数据转成标准格式再用爬虫,这样能利用Glue数据目录的元数据管理能力,后续的查询、ETL操作会更便捷。

内容的提问来源于stack exchange,提问作者LucG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 05:05:54