首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flume+Kafka+SparkStreaming实时用户行为分析

之前通过Python已经将网站的数据获取到,接下来需要考虑到后台的处理部分。那么现在有几个问题要考虑,从技术选型上该如何消费这些实时的数据。

Kafka在这个时候作为一个中间件就是个不错的选择:

数据能够发送和接收,类似于一个传送系统,消息的添加也是有序的;

能存储消息,按topic存取,支持多个生产者或者消费者对topic的操作,并且容错性也不错;

适合实时的处理消息,并且还支持分布式。

最后,结合Flume做目标文件的监控,只要监控到数据的更新,便下沉到kafka进行消费。所以,通过Python处理完的数据再对接Flume+Kafka可以说是采集的过程,将采集好的数据对接给SparkStreaming进行实时计算。

简言之,数据的链条是:

Python获取数据->Flume实时监控->Kafka实时消费->SparkStreaming实时计算处理。

环境信息是Centos7+kafka2.11-0.10.0+spark2.2.0+scala2.11.8,需要注意的是客户端的环境必须和Idea中的maven依赖一致。

在Idea中构建工程,如下:

我在kafka中新建了一个topic为flumeTopic用来消费Flume下沉过来的数据,Kafka的数据再通过spark streaming进行处理。效果如下,我在slave1节点运行python获取数据的脚本后,kafka会实时获取。

这个时候,同步的,可以看到在Idea中sparkstreaming也获取到了消息,这里我设置的每5s为一个批次来处理数据。

接下来,需要解决几个问题:

数据再streaming中的计算与处理;

计算完的数据需要一个持久化的DB存储,选哪个存储;

DB里面的数据与前端结合的展现。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180609G1QQC600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券