Spark Sreaming实战(二)-小试流式处理

1 业务分析

1.1 需求

统计主站每个(指定)教程访问的客户端、地域信息分布

地域: ip转换 Spark SQL项目实战
客户端:useragent获取 Hadoop基础教程

=》如上两个操作:采用离线(Spark/MapReduce )的方式进行统计

1.2 实现步骤

课程编号、ip信息、useragent
进行相应的统计分析操作: MapReduce/Spark

1.3 项目架构

日志收集: Flume
离线分析: MapReduce/Spark
统计结果图形化展示

看起来很简单,没什么高深的,但是现在需求改了嘛,很正常的骚操作对不对!
现在要求实时的精度大幅度提高!那么现在的架构已经无法满足需求了!

1.3.1 问题

小时级别
10分钟
5分钟
1分钟
秒级别
根本达不到精度要求!

实时流处理,应运而生!

2 实时流处理产生背景

◆ 时效性高
◆ 数据量大

◆ 实时流处理架构与技术选型

3 实时流处理概述

  • 实时计算:响应时间比较短。
  • 流式计算:数据不断的进入,不停顿。
  • 实时流式计算:在不断产生的数据流上,进行实时计算

4 离线计算与实时计算对比

4.1 数据来源

离线:HDFS历史数据,数据量较大。
实时:消息队列(Kafka),实时新增/修改记录实时过来的某一笔数据。

4.2 处理过程

离线:Map + Reduce
实时:Spark(DStream/SS)

4.3 处理速度

离线:速度慢
实时:快速拿到结果

4.4 进程角度

离线:启动 + 销毁进程
实时: 7 * 24小时进行统计,线程不停止

5 实时流处理架构与技术选型

  • Flume实时收集WebServer产生的日志
  • 添加Kafka消息队列,进行流量消峰,防止Spark/Storm崩掉
  • 处理完数据,持久化到RDBMS/NoSQL
  • 最后进行可视化展示

Kafka、Flume一起搭配更舒服哦~

6 实时流处理在企业中的应用

  • 电信行业:推荐流量包
  • 电商行业:推荐系统算法
#uc##读书笔记##笔记#
全部评论

相关推荐

1、自我介绍。2、实习公司?实习项目?实习工作?3、你觉得你贡献最大的是哪一部分工作?数值平衡调试。相关数据有所提高。4、你有没有接触到设计角色的工作?配了个皮肤,其他由于入职时间比较短没有接触到。5、你配皮肤的流程?6、你实习工作有哪些不足的地方?现在再来看那些工作,我的效率还可以再高一点,能再多学一些东西。7、说说你的魔塔项目。8、你是怎么设计地图的?答偏了,答成设计数值了。9、你玩的比较多的游戏?部落冲突。10、核心亮点?游戏画面、体验、玩法。11、你想对这个游戏提什么建议?12、你玩过哪些动作类游戏?苍翼、元气骑士、荒野乱斗。13、动作游戏关卡设计?地图设计、敌怪设计、可交互资源。根据整个关卡背景设定进行设计。14、(聊着聊着就跑题了,聊到打击感去了,面试官打断)关卡地图设计?。。。15、问题忘了。我个人玩动作游戏比较关注战斗以及打击感,对地图处理关注的比较少。16、实习离职原因?怎么看待加班?最晚能加班到几点?17、你的性格?偏内向18、实习遇到的困难?入职时间比较短,没有遇到什么太大的困难,遇到的基本都解决了。19、你现在闲暇之余都干什么?20、你和上级意见不一致怎么办?多沟通,多学习。21、反问。根据我的第六感,大概是凉了。
点赞 评论 收藏
转发
佬们,今天做了道华为笔试的进程优先调度的题,问题大致如下,首先输入指定数据n,表示n个任务,第一个为编号,第二个为优先级,第三个为执行时间,首先根据优先级大的进行选择,若优先级一样,则选择执行时间短的,若执行时间也一样,选择编号小的,大概样例:41 10 302   5  403   8  204   5  20预期输出:1 3 4 2结果我的代码编译后测试输出和预期输出都是一样的,结果一直显示答案错误(%0)是咋个回事啊,是格式的问题吗?代码如下:#includeusing namespace std;struct Node{    int num;    int P;    long long T;}s[10000];bool cmp(Node a,Node b){ if(a.P>b.P)        return true;    else if(a.P==b.P)    {        if(a.T        else if(a.num    }    return false;}int main(){    int input; cin>>input;    for(int i=0;i    { cin>> s[i].num >>s[i].P >>s[i].T;    }    sort(s,s+input,cmp);    for(int i=0;i    {          cout    }    return 0;}
点赞 评论 收藏
转发
点赞 4 评论
分享
牛客网
牛客企业服务