1.Event event是flume传输的最小对象,从source获取数据后会先封装成event,然后将event发送到channel,sink从channel拿event消费. event由头headers和身体(body)两部分组成:Headers部分是一个map,body部分可以是String或者byte[]等.其中body部分是真正存放数据的地方,headers部分用于本节所讲的interceptor. 2.Source 自定义Source,自定义的Event需要继承PollableS…
一.flume简单了解推荐网站(简介包括简单案例部署): http://www.aboutyun.com/thread-8917-1-1.html 二.我的需求是实现从ftp目录下采集数据,目录下文件名称要符合特定正则,要求文件要一行一行读取并解析后写入数据库.且实现断点续传(服务重启后会从上次读的位置继续). flume1.7.0中taildirSource实现的是监控目录下文件并且一行一行的读取,我只需选用这个source就可以实现.但是服务并不能直接部署在数据所在的服务器上,所以涉及到ft…
本文翻译自官网: User-defined Sources & Sinks  https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/sourceSinks.html Flink Table Api & SQL 翻译目录 TableSource提供对存储在外部系统(数据库,键值存储,消息队列)或文件中的数据的访问.在TableEnvironment中注册TableSource后,可以通过Table API或…
Hadoop生态圈-Flume的组件之自定义拦截器(interceptor) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客只是举例了一个自定义拦截器的方法,测试字节传输速度. 1>.自定义interceptor方法 /* @author :yinzhengjie Blog:http://www.cnblogs.com/yinzhengjie/tag/Hadoop%E7%94%9F%E6%80%81%E5%9C%88/ EMAIL:y1053419035@qq.com…
FLUME KAFKA SOURCE 和 SINK 使用同一个 TOPIC 最近做了一个事情,过滤下kakfa中的数据后,做这个就用到了flume,直接使用flume source 和 flume sink,中间再加一个过滤的intercetpor就可以了. 要做的事情很简单,但是遇到了一个问题,就是sink中指定的topic不起作用. 过程是这样的: KafkaSource.doProcess方法会给event的header中添加一个topic信息,里面保存了消费的topic. if (!he…
--------20190905更新------- 沙雕了,可以用  JSONKeyValueDeserializationSchema,接收ObjectNode的数据,如果有key,会放在ObjectNode中 if (record.key() != null) { node.set("key", mapper.readValue(record.key(), JsonNode.class)); } if (record.value() != null) { node.set(&quo…
Flume – 初识flume.source和sink 目录基本概念常用源 Source常用sink 基本概念  什么叫flume? 分布式,可靠的大量日志收集.聚合和移动工具.  events 事件,是一行数据的字节数据,是flume发送文件的基本单位.  flume配置文件 重命名flume-env.sh.template为flume-env.sh,并添加[export JAVA_HOME=/soft/jdk]  flume的Agent source //从哪儿读数据. 负责监控并收…
数据源Source RPC异构流数据交换 Avro Source Thrift Source 文件或目录变化监听 Exec Source Spooling Directory Source Taildir Source MQ或队列订阅数据持续监听 JMS Source SSL and JMS Source Kafka Source Network类数据交换 NetCat TCP Source NetCat UDP Source HTTP Source Syslog Sources Syslog…
一.Source 代码地址:https://gitee.com/nltxwz_xxd/abc_bigdata 1.1.flink内置数据源 1.基于文件 env.readTextFile("file://path") env.readFile(inputFormat, "file://path"); 2.基于socket数据源 env.socketTextStream("localhost", 6666, '\n') 3. 基于Collectio…
本次遇到的问题描述,日志采集同步时,当单条日志(日志文件中一行日志)超过2M大小,数据无法采集同步到kafka,分析后,共踩到如下几个坑.1.flume采集时,通过shell+EXEC(tail -F xxx.log 的方式) source来获取日志时,当单条日志过大超过1M时,source端无法从日志中获取到Event.2.日志超过1M后,flume的kafka sink 作为生产者发送给日志给kafka失败,kafka无法收到消息.以下针对踩的这两个坑做分析,flume 我使用的是1.9.0…