我目前正在使用Flume 1.7。配置假脱机目录源。我启用了recursiveDirectorySearch = true来查看子目录中的文件。
source.spoolDir = / tmp / test
并在/ tmp / test下,使用数据文件/tmp/test/data1/file.csv,/ tmp / test / data2 / file2.csv创建子目录。
我希望在HDFS接收路径中创建确切的子目录结构。
/sink/data1/file.csv /sink/data2/file2.csv
当我使用%{file}作为HDFS接收器文件路径时,我得到完整的绝对路径,%{basename}只给我文件名。我想从spooldir源路径中提取子目录结构。有没有办法实现这个目标?
答案 0 :(得分:0)
您可以使用fileHeader
和fileHeaderKey
属性,并在接收器配置中引用此标头变量以获取绝对路径。
https://flume.apache.org/FlumeUserGuide.html#spooling-directory-source