Flume spooldir для получения метаданных файла исходного файла

У меня есть требование, согласно которому для каждого события канала я должен добавить имя файла и дату создания файла в каталоге spooldir. Я обнаружил, что могу добавить имя файла в заголовок события, установив fileHeader=true. Точно так же могу ли я также найти дату создания файла, написав какой-нибудь собственный перехватчик?


person sathish reddy    schedule 18.06.2014    source источник
comment
ты получил какой-нибудь ответ   -  person sp_user123    schedule 05.02.2015


Ответы (1)


Имя файла задается в реализации Spool Source:

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

Это конкретная деталь реализации этого типа источника. Если вы хотите сохранить исходное имя файла, вам необходимо установить свойство, это доступные параметры:

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 для отметки времени
  • Host Interceptor для имени хоста экземпляра Flume
  • StaticInterceptor для любого постоянного значения.
person Erik Schmiegelow    schedule 17.02.2015