storm从kafka消息队列读取数据进行读写操作

本文介绍了如何利用storm从kafka消息队列读取数据,通过storm进行流式计算,以处理不均匀的数据流。在实际场景中,kafka能够将不均匀的数据转化为均匀的消息流,确保与storm的稳定结合,实现高效实时计算。文中提供了一个简单的standalone模式的demo,包括WordSplit和WriterBolt的实现。
摘要由CSDN通过智能技术生成

业务场景:

         storm+kafka 作为经典组合,storm的作用主要是进行流式计算,对于源源不断的均匀数据流流入处理是非常有效的,而现实生活中大部分场景并不是均匀的数据流,而是时而多时而少的数据流入,这种情况下显然用批量处理是不合适的,如果使用storm做实时计算的话可能因为数据拥堵而导致服务器挂掉,应对这种情况,使用kafka作为消息队列是非常合适的选择,kafka可以将不均匀的数据转换成均匀的消息流,从而和storm比较完善的结合,这样才可以实现稳定的流式计算。

废话不多说,直接low一个小demo:

Topology:

public class KafkaTopology {

	private String topic ;
	private String zkRoot;
	private String  spoutId;
	
	public KafkaTopology() {}
	
	public KafkaTopology(String topic,String zkRoot, String spoutId){
		this.topic = topic;
		this.zkRoot = zkRoot;
		this.spoutId = spoutId;
	}
	
	public  void  run(){
		 //指定zk的地址
		BrokerHosts brokerHosts = new ZkHosts("storm1:2181,storm2:2181,storm3:2181"); 
		//配置spout
		SpoutConfig spoutConfig = new SpoutConfig(brokerHosts, topic, zkRoot, spoutI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值