json - AWS Glue Crawler 无法解析大文件(分类 UNKNOWN)
问题描述
我一直在尝试使用 AWS Glue 的爬虫来尝试获取某个 json 文件的列和其他功能。
我通过将 json 文件转换为 UTF-8 并使用 boto3 将其移动到 s3 容器中并从爬虫访问该容器来在本地解析 json 文件。
我使用自定义分类器 $[*] 创建了一个 json 分类器,并创建了一个具有正常设置的爬虫。
当我使用相对较小(<50 Kb)的文件执行此操作时,爬虫会正确识别列以及主 json 中内部 json 层的内部架构。但是,我正在尝试处理的文件(大约 1 Gb),爬虫具有“未知”作为分类并且无法识别任何列,因此我无法查询它。
关于这个问题的任何想法或某种解决方法?
我最终试图将其转换为 Parquet 格式并使用 Athena 进行一些查询。
我看过下面的帖子,但这个解决方案不起作用。我已经尝试过重写我的分类器和爬虫。我还认为这些不是核心问题,因为我使用 $[*] 作为我的自定义分类器并使用了几乎相同的设置,同时尝试使用具有相同结果的较小文件执行此操作。
我开始认为原因仅仅是因为文件很大。
解决方案
我可能错了,但是可以处理的文件大小有某种限制。尝试将您的大文件拆分为 10Mb(建议大小)的文件。Crawler 将并行处理这些文件,当您再次运行它时,它只会处理更改/新文件。抱歉,我找不到相关的 aws 文档,请尝试一下,看看它是否有效
推荐阅读
- c++ - 使用互斥体而不使用条件变量的两个线程之间的 C++ 同步
- ios - 无法将值存储到全局数组 SWIFT
- ajax - 验证失败应防止关闭模式对话框
- r - R数据帧重排
- postgresql - 使用 dokku postgres 插件存储的数据在多大程度上是持久的?
- c# - C# - 在返回之前调用 Task.Result 是否等到返回结果
- python - 使用 TFLiteConverter (Python API) 将冻结图转换为珊瑚的 tflite
- asp.net-mvc - 设置 React Props,来自 Jquery Tree 事件的状态
- r - 滚动连接 + 求和而不会炸毁内存
- excel - Excel - 根据所选月份求和 QTD 值