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