0

重命名摄入的文件我们有一个AWS S3存储桶,我们可以以10分钟的时间间隔获取新的CSV文件。目标是将这些文件摄入Hive。如何将Apache Flume配置为不使用.COMPLETE

所以对我来说显而易见的方式是使用Apache Flume为此并使用Spooling Directory来源,它将不断寻找登陆目录中的新文件并将它们摄入Hive中。

我们有read-only权限S3存储桶和登陆目录中的文件将被复制和Flume后缀摄入文件后缀.COMPLETED。因此,在我们的案例中,由于许可问题,Flume将无法标记完成的文件。

现在的问题是:

  1. 如果水槽不能后缀添加到完成 文件会发生什么?它会给出任何错误还是会默默地失败? (我实际上正在测试这个,但如果有人已经试过这个,那么我不必重新发明轮子)
  2. 是否 Flume将能够摄取文件而不用 .COMPLETED标记?
  3. 是否有更好的其他大数据工具/技术 适合此用例?

回答

1

流水线假冒目录源需要具有写权限,以重命名或删除处理/读取的日志文件。

检查'fileSuffix','deletePolicy'设置。

如果它不重命名/删除完成的文件,它不能找出哪些文件已经处理。

您可能希望编写一个从只读S3桶读取具有写入权限的“暂存”文件夹的“脚本”,并将该暂存文件夹作为源文件提供给水槽。