You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@flume.apache.org by Shara Shi <sh...@dhgate.com> on 2012/07/04 06:54:05 UTC

答复: HOW TO USE %Y%m%d ESCAPE SEQUENCE IN FLUME-NG

Hi 

 

It works well , thanks

 

Ruihong Shi

 

发件人: Juhani Connolly [mailto:juhani_connolly@cyberagent.co.jp] 
发送时间: 2012年7月4日 10:20
收件人: flume-user@incubator.apache.org
主题: Re: HOW TO USE %Y%m%d ESCAPE SEQUENCE IN FLUME-NG

 

To use the date related escape sequences you need to provide a timestamp
header.

The easiest way to do this would be configuring a timestamp interceptor onto
your source, ours looks something like:

sender1.sources.tail.interceptors = ts
sender1.sources.tail.interceptors.ts.type =
org.apache.flume.interceptor.TimestampInterceptor$Builder


On 07/04/2012 11:00 AM, Shara Shi wrote:

HI 

 

I failed to use /%Y/%m/%d/ ESCAPE SEQUENCE to roll file in hdfs. 

I got following error messages

 

12/07/04 09:59:16 ERROR hdfs.HDFSEventSink: process failed

java.lang.NumberFormatException: null

        at java.lang.Long.parseLong(Long.java:375)

        at java.lang.Long.valueOf(Long.java:525)

        at
org.apache.flume.formatter.output.BucketPath.replaceShorthand(BucketPath.jav
a:220)

        at
org.apache.flume.formatter.output.BucketPath.escapeString(BucketPath.java:31
0)

        at
org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:402)

        at
org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java
:68)

        at
org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)

        at java.lang.Thread.run(Thread.java:662)

12/07/04 09:59:16 ERROR flume.SinkRunner: Unable to deliver event. Exception
follows.

org.apache.flume.EventDeliveryException: java.lang.NumberFormatException:
null

        at
org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:469)

        at
org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java
:68)

        at
org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)

        at java.lang.Thread.run(Thread.java:662)

Caused by: java.lang.NumberFormatException: null

        at java.lang.Long.parseLong(Long.java:375)

        at java.lang.Long.valueOf(Long.java:525)

        at
org.apache.flume.formatter.output.BucketPath.replaceShorthand(BucketPath.jav
a:220)

        at
org.apache.flume.formatter.output.BucketPath.escapeString(BucketPath.java:31
0)

        at
org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:402)

        ... 3 more

12/07/04 09:59:16 ERROR hdfs.HDFSEventSink: process failed

java.lang.NumberFormatException: null

        at java.lang.Long.parseLong(Long.java:375)

        at java.lang.Long.valueOf(Long.java:525)

        at
org.apache.flume.formatter.output.BucketPath.replaceShorthand(BucketPath.jav
a:220)

        at
org.apache.flume.formatter.output.BucketPath.escapeString(BucketPath.java:31
0)

        at
org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:402)

        at
org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java
:68)

        at
org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)

        at java.lang.Thread.run(Thread.java:662)

12/07/04 09:59:16 ERROR flume.SinkRunner: Unable to deliver event. Exception
follows.

org.apache.flume.EventDeliveryException: java.lang.NumberFormatException:
null

        at
org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:469)

        at
org.apache.flume.sink.DefaultSinkProcessor.process(DefaultSinkProcessor.java
:68)

        at
org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:147)

        at java.lang.Thread.run(Thread.java:662)

Caused by: java.lang.NumberFormatException: null

        at java.lang.Long.parseLong(Long.java:375)

        at java.lang.Long.valueOf(Long.java:525)

        at
org.apache.flume.formatter.output.BucketPath.replaceShorthand(BucketPath.jav
a:220)

        at
org.apache.flume.formatter.output.BucketPath.escapeString(BucketPath.java:31
0)

        at
org.apache.flume.sink.hdfs.HDFSEventSink.process(HDFSEventSink.java:402)

        ... 3 more

12/07/04 09:59:16 ERROR hdfs.HDFSEventSink: process failed

java.lang.NumberFormatException: null

        at java.lang.Long.parseLong(Long.java:375)

        at java.lang.Long.valueOf(Long.java:525)

 

=============

 

collector2.channels.ch2.type = memory

 

collector2.sources.avro-source1.channels = ch2

collector2.sources.avro-source1.type = avro

collector2.sources.avro-source1.bind = 0.0.0.0

collector2.sources.avro-source1.port = 41414

 

collector2.sinks.hdfs.channel = ch2

collector2.sinks.hdfs.type= hdfs

collector2.sinks.hdfs.hdfs.path=hdfs://namenode:8020/data/log/%Y/%m/%d/

collector2.sinks.hdfs.batchsize=1

collector2.sinks.hdfs.runner.type=polling

collector2.sinks.hdfs.runner.polling.interval = 60

 

collector2.sinks.hdfs.hdfs.rollInterval = 300

collector2.sinks.hdfs.hdfs.rollSize = 0

collector2.sinks.hdfs.hdfs.rollCount = 0

 

collector2.channels = ch2

collector2.sources = avro-source1

collector2.sinks = hdfs

 

 

Ruihong Shi