【问题标题】:How to configure Apache Flume to not to rename ingested files with .COMPLETE如何将 Apache Flume 配置为不使用 .COMPLETE 重命名摄取的文件
【发布时间】:2017-08-29 14:53:11
【问题描述】:

我们有一个 AWS S3 存储桶,每隔 10 分钟我们会在其中获取新的 CSV 文件。目标是将这些文件摄取到 Hive 中。

所以对我来说,显而易见的方法是为此使用 Apache Flume 并使用 Spooling Directory 源,它将继续在登录目录中寻找新文件并将它们摄取到 Hive 中。

我们对 S3 存储桶和将在其中复制文件的登录目录拥有 read-only 权限,并且 Flume 后缀使用 .COMPLETED 后缀提取文件。所以在我们的例子中,由于权限问题,Flume 将无法标记已完成的文件。

现在的问题是:

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

【问题讨论】:

    标签: amazon-web-services amazon-s3 hive hortonworks-data-platform flume-ng


    【解决方案1】:

    Flume Spooling Directory Source 需要具有写入权限才能重命名或删除已处理/读取的日志文件。

    检查“fileSuffix”、“deletePolicy”设置。

    如果它不重命名/删除已完成的文件,则无法确定哪些文件已被处理。

    您可能想要编写一个“脚本”,从只读 S3 存储桶读取到具有写入权限的“暂存”文件夹,并将此暂存文件夹作为水槽的源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多