flume配置

    最近在使用flume进行文件读取时遇到一个问题:接收到的信息未按照预想的数据格式输出。

    文件格式:

xxx,xxx,xxx,xxx,xxx,xxx\r
xxx,xxx,xxx,xxx,xxx,xxx\r
xxx,xxx,xxx,xxx,xxx,xxx\r
xxx,xxx,xxx,xxx,xxx,xxx\r
xxx,xxx,xxx,xxx,xxx,xxx\r
xxx,xxx,xxx,xxx,xxx,xxx\r
xxx,xxx,xxx,xxx,xxx,xxx\r
    问题现象:    

    flume source使用spooldir读取文件夹下数据文件,获取到的数据入到kafka队列中,consume队列内容时发现处理的数据长度于记录数与原始文件有很大出入,通过分析flume日志后发现每次入队列的数据长度都是一致的,数据的截断位置不固定。

    通过查阅官方文档,找到了问题原因。flume spooldir默认配置使用LINE进行数据转换。在LINE中有如下一段说明:

Property Name	Default	Description
deserializer.maxLineLength	2048	Maximum number of characters to include in a single event. If a line exceeds this length, it is truncated, and the remaining characters on the line will appear in a subsequent event.
    flume每个event中处理的最大信息长度默认配置为2048,超出的信息会进行截断处理。

    问题修改方法,在flume的配置文件里追加解析长度配置。

    flume配置方式:

#在flume agent的数据源中按实际处理的文件内容配置信息长度
producer.sources.s.deserializer.maxLineLength = 90

转载于:https://my.oschina.net/jinp/blog/307332

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值