flume sink到hdfs第一列是时间戳,怎么去掉

在使用Flume将数据写入HDFS时,发现每条事件的第一列都是时间戳。解决方法是在配置文件中添加`LogAgent.sinks.mysink.hdfs.fileType=DataStream`和`LogAgent.sinks.mysink.hdfs.writeFormat=Text`,确保HDFS文件以DataStream格式写入,使用Text格式避免时间戳的默认添加。
摘要由CSDN通过智能技术生成

flume sink到hdfs第一列是时间戳,怎么去掉?如下



1492665578789  111
1492665580789  222
1492666625916  qqqq
1492664454650 
1492664455642   q


【问题描述】 用flume收集本地文件夹下的文件变动 source的类型是:spooldir


配置文件如下:


LogAgent.sources = mysource
LogAgent.channels = mychannel
LogAgent.sinks = mysink


LogAgent.sources.mysource.type= spooldir
LogAgent.sources.mysource.fileHeader = true
LogAgent.sources.mysource.deserializer.outputCharset=UTF-8
LogAgent.sources.mysource.channels=mychannel
LogAgent.sources.mysource.spoolDir=/tmp/logs
LogAgent.sources.mysource.basenameHeader=true
LogAgent.sources.mysource.basenameHeaderKey=fileName


LogAgent.sinks.mysink.channel= mychannel
LogAgent.sinks.mysink.type=hdfs
LogAgent.sinks.mysink.hdfs.path=hdfs://master:9000/data/logs/%Y/%m/%d/%H/
LogAgent.sinks.mysink.hdfs.filePrefix=%{fileName}
LogAgent.sinks.mysink.hdfs.batchSize=1000
LogAgent.sinks.mysink.hdfs.rollSize=0
LogAgent.sinks.mysink.hdfs.rollCount=10000
LogAgent.sinks.mysink.hdfs.useLocalTimeStamp=true


LogAgent.channels.mychannel.type=memory
LogAgent.channels.mychannel.capacity=1000000
LogAgent.channels.mychannel.transactionCapacity=300000



【问题解决】


情况一:配置文件中应该加入以下的内容,让hdfs知道文件的格式:



LogAgent.sinks.mysink.hdfs.fileType=DataStream
LogAgent.sinks.mysink.hdfs.writeFormat=Text


官网的解释:

Name Default Description

hdfs.fileType SequenceFile File format: currently SequenceFileDataStream or CompressedStream (1)DataStream will not compress output file and please don’t set codeC (2)CompressedStream requires set hdfs.codeC with an available codeC



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值