from pyspark.streaming.kafka import KafkaUtils kafkaStream = KafkaUtils.createStream(streamingContext, \ [ZK quorum], [consumer group id], [per-topic number of Kafka partitions to consume]) from pyspark.streaming.kafka import KafkaUtils directKafkaSt…
MQ初窥门径 全称(message queue)消息队列,一个用于接收消息.存储消息并转发消息的中间件 应用场景 用于解决的场景,总之是能接收消息并转发消息 用于异步处理,比如A服务做了什么事情,异步发送一个消息给其他B服务. 用于削峰,有些服务(秒杀),请求量很高,服务处理不过来,那么请求先放到消息队列里面,后面按照能力处理,相当于蓄水池. 应用解耦.消息通讯等等 总之MQ是可以存放消息并转发消息的中间件,场景取决于拿这个能力去解决什么问题 MQ概念模型 MQ向别人承诺的场景是接收消息,存储,…
这是一篇分享文 转自:http://www.cnblogs.com/williamjie/p/9481780.html  尊重原作,谢谢 消息队列 为什么写这篇文章? 博主有两位朋友分别是小A和小B: 小A,工作于传统软件行业(某社保局的软件外包公司),每天工作内容就是和产品聊聊需求,改改业务逻辑.再不然就是和运营聊聊天,写几个SQL,生成下报表.又或者接到客服的通知,某某功能故障了,改改数据,然后下班部署上线.每天过的都是这种生活,技术零成长. 小B,工作于某国企,虽然能接触到一些中间件技术.…
作为消息队列来说,企业中选择mq的还是多数,因为像Rabbit,Rocket等mq中间件都属于很成熟的产品,性能一般但可靠性较强, 而kafka原本设计的初衷是日志统计分析,现在基于大数据的背景下也可以做运营数据的分析统计,而redis的主要场景是内存数据库,作为消息队列来说可靠性太差,而且速度太依赖网络IO,在服务器本机上的速度较快,且容易出现数据堆积的问题,在比较轻量的场合下能够适用. RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消…
淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linkin开源了Kafka这个优秀的消息中间件,淘宝中间件团队在对Kafka做过充分Review之后,Kafka无限消息堆积,高效的持久化速度吸引了我们,但是同时发现这个消息系统主要定位于日志传输,对于使用在淘宝交易.订单.充值等场景下还有诸多特性不满足,为此我们重新用Java语言编写了RocketMQ,定位于非日志的可…
这是一篇分享文 转自:http://www.cnblogs.com/williamjie/p/9481780.html  尊重原作,谢谢 消息队列 为什么写这篇文章? 博主有两位朋友分别是小A和小B: 小A,工作于传统软件行业(某社保局的软件外包公司),每天工作内容就是和产品聊聊需求,改改业务逻辑.再不然就是和运营聊聊天,写几个SQL,生成下报表.又或者接到客服的通知,某某功能故障了,改改数据,然后下班部署上线.每天过的都是这种生活,技术零成长. 小B,工作于某国企,虽然能接触到一些中间件技术.…
spark读取kafka数据流提供了两种方式createDstream和createDirectStream. 两者区别如下: 1.KafkaUtils.createDstream 构造函数为KafkaUtils.createDstream(ssc, [zk], [consumer group id], [per-topic,partitions] ) 使用了receivers来接收数据,利用的是Kafka高层次的消费者api,对于所有的receivers接收到的数据将会保存在Spark exe…
一入大数据深似海,脑袋不够用了,先留下只言片语. kafka api中给出2类直接获取流的接口:createStream和createDirectStream. createStream比较简单,只需topic.groupid.zookeeper就可以直接获取流,brokers和offset都是黑盒无需进行控制,但在项目中往往不受控.以下是部分源码: /** * Create an input stream that pulls messages from Kafka Brokers. * @p…
定义: Flume:是Cloudera提供的一个分布式的海量日志采集.聚合和传输的系统: Kafka:是一种高吞吐量的分布式发布订阅消息系统: 各特点: 场景: Flume主要是和HDFS\HBase结合,有特殊优化效率更好: Kafka 是一个通用型系统,开发商 Cloudera 推荐如果数据需要被多个应用程序消费的话,推荐使用 Kafka. 实时过滤: Flume 可以在拦截器里面实时处理数据.这个特性对实时过滤数据非常有用.Kafka 需要一个外部系统帮助处理数据. 数据保存: kafka…
1.区别: Kafka和RocketMQ的区别: 1.两者对于消息的单机吞吐量.时效性.可用性.消息可靠性都差不多,其中时效性就是消息延迟都在ms级,kafka吞吐量会更大. 2.功能支持方面:Kafka主要应用于大数据场景,因此其功能较为简单,主要支持简单的MQ功能.RocketMQ支持较为完善的功能,例如:优先级队列.延迟队列.死信队列.重试队列. 3.topic数量对吞吐量影响方面:kafka几十到几百的topic规模的时候吞吐量就会大幅度下降,RocketMQ则支持几百/几千的topic…