【问题标题】:Flume - spoolign dir source - ingesting sub directoriesFlume - spoolign dir source - 摄取子目录
【发布时间】:2018-04-19 03:21:55
【问题描述】:

我目前正在使用 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 源路径中提取子目录结构。有什么办法可以做到这一点?

【问题讨论】:

    标签: hdfs flume-ng


    【解决方案1】:

    您可以使用fileHeaderfileHeaderKey 属性并在您的接收器配置中引用此标头变量以获取绝对路径。

    https://flume.apache.org/FlumeUserGuide.html#spooling-directory-source

    【讨论】:

    • 我需要一个绝对路径之外的子字符串。有没有办法访问它来指定hdfs.path?如果我的文件绝对路径是 x/y/z/subdir/file.csv ,我只需要 subdir/file.csv 作为 hdfs 接收器路径,而不是整个绝对路径
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    • 2012-02-14
    • 2019-08-31
    相关资源
    最近更新 更多