zoukankan      html  css  js  c++  java
  • Spooling Directory Source使用技巧

    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$







  • 相关阅读:
    mac下crontab定时任务使用
    javascript入门之算术乘法表
    原型模型
    Servlet开发
    工厂模式
    简单工厂模式
    Java设计模式之瞎BB的官话
    JavaBean技术
    软件设计模式之单例模式
    JSP页面请求与响应以及保存页面状态
  • 原文地址:https://www.cnblogs.com/lishouguang/p/4560892.html
Copyright © 2011-2022 走看看