【发布时间】:2018-09-24 22:00:53
【问题描述】:
我认为 AWS Glue 应该是一个相对简单的用例,但我在弄清楚如何实施它时遇到了很多麻烦。
我有一个 Kinesis Firehose 作业将流数据转储到 S3 存储桶中。这些文件由一系列离散的 Web 浏览事件组成,表示为具有不同结构的 JSON 文档(例如,一个文档可能具有字段“日期”但没有字段“名称”,而另一个文档可能具有“名称”但没有“日期” )。
我希望每小时对这些文件运行 ETL 作业,其细节与手头的事情无关。
我正在尝试运行 S3 数据目录爬网程序,但我遇到的问题是 Kinesis 输出格式本身不是有效的 JSON,这让我感到莫名其妙。相反,它是一堆由换行符分隔的 JSON 文档。爬虫可以自动识别解析JSON文件,但是无法解析。
我曾想过编写一个 lambda 函数来“修复”Firehose 文件,该文件由它在存储桶上的创建触发,但对于两个应该整齐地组合在一起的部分来说,这听起来像是一种廉价的解决方法。
另一种选择是完全绕过数据目录并在 Glue 脚本本身中进行必要的转换,但我不知道如何开始。
我错过了什么吗?有没有更简单的方法来解析 Firehouse 输出文件,或者如果失败了,可以绕过爬虫的需要?
提前干杯和感谢
【问题讨论】:
标签: amazon-s3 aws-glue amazon-kinesis-firehose