码迷,mamicode.com
首页 > 其他好文 > 详细

Spooling Directory Source使用技巧

时间:2015-06-08 16:41:40      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

1、使用文件原来的名字

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
a1.sources=r1
 
a1.sinks=k1
 
a1.sources.r1.type=spooldir
 
....
 
a1.sources.r1.basenameHeader=true
 
a1.sources.r1.basenameHeaderKey=basename
 
.....
 
a1.sinks.k1.type=hdfs
 
a1.sinks.k1.hdfs.path=hdfs://xxx:8020?/a/b/%{basename}

在source里设置basnameHeader为true,这样在解析出来的event在header上将添加一个属性,名字是basenameHeaderKey定义,值是文件原来的名字。

2、将整个文件作为一个event

在默认情况下,deserializer是LINE,它的效果是,将文件里的每一行解析成一个event。改成BlobDeserializer,则将整个文件解析成一个event。不过,这种方式对大文件不适合,因为整个文件将放入内存中。

1
2
3
4
5
a1.sources=r1
...
a1.sources.r1.type=spooldir
a1.sources.r1.deserializer=BlobDeserializer
...

3、在传输新文件到监控的文件夹时,需要让Spooing Directory Source忽略这个正在传输的文件,等传输完毕后在触发。

可以使用ignorePattern属性来避免。

1
a1.sources.r1.ignorePattern=^(.)*\\.tmp$







Spooling Directory Source使用技巧

标签:

原文地址:http://www.cnblogs.com/lishouguang/p/4560892.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!