如何在Apache Flume中传输文件时保留文件名?

时间:2015-04-23 14:56:32

标签: flume-ng

我正在使用Flume 1.3.1 ng,我正在将一个文件从spoolDir传输到HDFS Sink,我需要outpufile名称与输入文件相同。例如,如果输入文件名是sample.gz,那么输出也需要sample.gz

您能否提供如何在Flume 1.3.1 ng。

中实现此功能的程序

2 个答案:

答案 0 :(得分:3)

我正在使用以下设置:

a1.sources.r1.basenameHeader = true
a1.sinks.k1.hdfs.filePrefix = %{basename}

这些设置为我提供了以下转换:

original_file.txt -> original_file.1457085474015.txt

遗憾的是,您无法从文件名中删除时间戳:C

答案 1 :(得分:0)

spooldir有一个参数,关于是否添加有关原始文件名的标题。它被称为fileHeader,默认情况下它被设置为false,因此将其设置为真:

agentname.sources.mysource.type = spooldir
agentname.sources.mysource.spoolDir = /path/to/the/dir
agentname.soruces.mysource.fileHeader = true