【问题标题】:Flume spooldir to get file metadata of source fileFlume spooldir 获取源文件的文件元数据
【发布时间】:2014-06-18 07:07:14
【问题描述】:

我有一个要求,对于每个水槽事件,我必须在 spooldir 目录中添加文件的文件名和文件创建日期。我发现我可以通过设置 fileHeader=true 在事件头中添加文件名。同样,我也可以通过编写一些自定义拦截器来查找文件创建日期吗?

【问题讨论】:

  • 你得到答案了吗

标签: flume flume-ng


【解决方案1】:

文件名在 Spool Source 实现中设置:

if (annotateFileName) {
  String filename = currentFile.get().getFile().getAbsolutePath();
  for (Event event : events) {
    event.getHeaders().put(fileNameHeader, filename);
  }
}

这是该 Source 类型的特定实现细节。如果要保留原始文件名,则需要设置属性,这些是可用的选项:

fileHeader  false   Whether to add a header storing the absolute path filename.
fileHeaderKey   file    Header key to use when appending absolute path filename to event header.

如果要添加时间戳,其实可以使用内置拦截器:

  • 时间戳的TimestampInterceptor
  • flume 实例主机名的主机拦截器
  • StaticInterceptor 用于任何常量值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    • 1970-01-01
    相关资源
    最近更新 更多