FLUME KAFKA SOURCE 和 SINK 使用同一个 TOPIC
FLUME KAFKA SOURCE 和 SINK 使用同一个 TOPIC
最近做了一个事情,过滤下kakfa中的数据后,做这个就用到了flume,直接使用flume source 和 flume sink,中间再加一个过滤的intercetpor就可以了。
要做的事情很简单,但是遇到了一个问题,就是sink中指定的topic不起作用。
过程是这样的:
KafkaSource.doProcess方法会给event的header中添加一个topic信息,里面保存了消费的topic。
if (!headers.containsKey(KafkaSourceConstants.TOPIC_HEADER)) {
          headers.put(KafkaSourceConstants.TOPIC_HEADER, message.topic());
        }
KafkaSink.process方法中会首先将event的header中的topic信息作为sinkTopic,如果header中没有topic信息,才会用sink定义的topic。
        eventTopic = headers.get(TOPIC_HEADER);
        if (eventTopic == null) {
          eventTopic = topic;
        }
这就尴尬了,自定义的sinkTopic没用,解决办法:
- 在 KafkaSink.process中去掉这几行代码,重新打包。
- 使用intercetpor
 具体参考这个。
FLUME KAFKA SOURCE 和 SINK 使用同一个 TOPIC的更多相关文章
- Flume:source和sink
		Flume – 初识flume.source和sink 目录基本概念常用源 Source常用sink 基本概念  什么叫flume? 分布式,可靠的大量日志收集.聚合和移动工具.  events ... 
- Flume的Source、Sink总结,及常用使用场景
		数据源Source RPC异构流数据交换 Avro Source Thrift Source 文件或目录变化监听 Exec Source Spooling Directory Source Taild ... 
- Flume自定义Source、Sink和Interceptor(简单功能实现)
		1.Event event是flume传输的最小对象,从source获取数据后会先封装成event,然后将event发送到channel,sink从channel拿event消费. event由头he ... 
- 一次flume exec source采集日志到kafka因为单条日志数据非常大同步失败的踩坑带来的思考
		本次遇到的问题描述,日志采集同步时,当单条日志(日志文件中一行日志)超过2M大小,数据无法采集同步到kafka,分析后,共踩到如下几个坑.1.flume采集时,通过shell+EXEC(tail -F ... 
- 大数据学习day36-----flume02--------1.avro source和kafka source  2. 拦截器(Interceptor) 3. channel详解  4 sink 5 slector(选择器)6 sink processor
		1.avro source和kafka source 1.1 avro source avro source是通过监听一个网络端口来收数据,而且接受的数据必须是使用avro序列化框架序列化后的数据.a ... 
- [ETL] Flume 理论与demo(Taildir Source & Hdfs Sink)
		一.Flume简介 1. Flume概述 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据: ... 
- Flink 自定义source和sink,获取kafka的key,输出指定key
		--------20190905更新------- 沙雕了,可以用 JSONKeyValueDeserializationSchema,接收ObjectNode的数据,如果有key,会放在Objec ... 
- Flume笔记--source端监听目录,sink端上传到HDFS
		官方文档参数解释:http://flume.apache.org/FlumeUserGuide.html#hdfs-sink 需要注意:文件格式,fileType=DataStream 默认为Sequ ... 
- 如何用Flink把数据sink到kafka多个(成百上千)topic中
		需求与场景 上游某业务数据量特别大,进入到kafka一个topic中(当然了这个topic的partition数必然多,有人肯定疑问为什么非要把如此庞大的数据写入到1个topic里,历史留下的问题,现 ... 
随机推荐
- HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerException
			HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerException type ... 
- web程序定时器
			package com.timer; import java.util.Calendar; import java.util.Date; import java.util.Timer; import ... 
- Web前端国际化之jQuery.i18n.properties
			Web前端国际化之jQuery.i18n.properties jQuery.i18n.properties介绍 国际化是如今Web应用程序开发过程中的重要一环,jQuery.i18n.propert ... 
- C/S和B/S交互
			近期一直在做C/S的项目,每天都超忙,抽个时间写篇博客,之前一直做C/S项目就是各种窗口.各种控件,拖来拖去,然后点进去写方法,做BS的时候呢,由于一直使用的是mvc,所以就是常常手写代码.或者拖引用 ... 
- 高级程序员与CTO技术总监首席架构师
			一.高级程序员 如果你是一个刚刚创业的公司,公司没有专职产品经理和项目经理,你就是公司的产品经理,你如果对你现在的开发员能力不满,那么你只需要的是一个高级程序员. 你定义功能.你做计划推进和管理,他可 ... 
- weboffice7
			document.all.WebOffice1.ShowToolBar = false; 
- 关于Tool接口--------hadoop接口:extends Configured implements Tool 和  ToolRunner.run
			我们在写Hadoop--map/reduce程序时,遇到使用按文件url来分析文件----------多表连接的DistributedCache方式,看不懂使用extends Configured i ... 
- redis在项目中的使用(单机版、集群版)
			1.下载jar包:jedis-2.6.2.jar 2.代码: JedisDao.java: package com.test.www.dao; public interface JedisDao { ... 
- (转载)Android引导界面实现
			Android引导界面实现 Android 2014-07-10 14:47:36 发布 您的评价: 4.0 收藏 3收藏 ViewPager类提供了多界面切换的新效果,是 ... 
- (转载)android 一些工具类汇总
			android 一些工具类汇总 作者:曾田生z 字体:[增加 减小] 类型:转载 时间:2016-08-14我要评论 本文给大家汇总介绍了一些常用的Android工具类,非常的简单实用,有需要的小伙伴 ... 
