我们有一个awss3 bucket,在其中我们每隔10分钟获得一个新的csv文件。目标是将这些文件摄取到配置单元中。
所以对我来说最明显的方法就是 Apache Flume
为此,请使用 Spooling Directory
源代码,它将继续在登录目录中查找新文件并在配置单元中接收它们。
我们有 read-only
对s3 bucket和将在其中复制和删除文件的登录目录的权限 Flume
将摄取的文件后缀为 .COMPLETED
后缀。因此,在我们的情况下,flume将无法标记完成的文件,因为权限问题。
现在的问题是:
如果flume无法为已完成的文件添加后缀,会发生什么情况?它会不会出错,还是会默默地失败(我实际上是在测试这个,但如果有人已经尝试过这个,那么我不必重新发明轮子)
flume是否能够在不使用标记的情况下接收文件 .COMPLETED
?
有没有其他更适合这个用例的大数据工具/技术?
1条答案
按热度按时间kx1ctssn1#
flume假脱机目录源需要具有写入权限才能重命名或删除已处理/读取的日志文件。
检查“filesuffix”、“deletepolicy”设置。
如果它不重命名/删除已完成的文件,它就无法确定哪些文件已被处理。
您可能希望编写一个“脚本”,从只读s3存储桶读取到具有写入权限的“暂存”文件夹,并将此暂存文件夹作为源提供给flume。