【问题标题】:Is it possible to write Flume headers to HDFS sink and drop the body?是否可以将 Flume 标头写入 HDFS 接收器并丢弃主体?
【发布时间】:2015-01-08 07:26:22
【问题描述】:

text_with_headers 序列化器(HDFS sink 序列化器)允许保存 Flume 事件标头而不是丢弃它们。输出格式由标头、空格和正文有效负载组成。我们想删除正文并仅保留标题。 对于 HBase 接收器,“RegexHbaseEventSerializer”允许我们转换事件。但我无法为 HDFS 接收器找到这样的规定。

【问题讨论】:

  • HDFS 接收器实际上需要一个主体,因为它将写入 DFS 中的文件。标头用于路径等。如果您实际上只是想将标头而不是原始主体写入 HDFS,请编写一个拦截器来转换标头并将它们以所需格式写入事件主体
  • 谢谢埃里克。经过进一步调查,我意识到 regex_filter 拦截器可能只是该任务的一个。我打算做的就是修改正文(事件)。请提出您的想法。
  • 如果你想修改body,你将不得不编写自己的拦截器。其实很简单,如果你愿意,我可以提供一个小样本。

标签: hdfs flume serialization flume-ng sink


【解决方案1】:

您可以将 serializer 属性设置为 header_and_text,它会同时输出标题和正文。

例如:

agent.sinks.my-hdfs-sink.type = hdfs
agent.sinks.my-hdfs-sink.hdfs.fileType = DataStream
... 
# very important
agent.sinks.my-hdfs-sink.serializer = header_and_text

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多