第104课: Spark Streaming电商广告点击综合案例需求分析和技术架构
2016-05-17 13:52:36 1 举报
本课程将深入探讨Spark Streaming在电商广告点击分析中的应用。首先,我们将对案例需求进行详细分析,包括数据源、处理流程和目标结果等。接着,我们将设计相应的技术架构,包括数据输入、数据处理和数据输出等环节。在这个过程中,我们将充分利用Spark Streaming的强大功能,如实时处理、容错机制和可扩展性等。此外,我们还将讨论如何优化性能,提高处理速度,以满足大规模数据处理的需求。通过这个案例,你将了解到Spark Streaming在实时数据分析中的实际应用,掌握相关的技术和方法。
作者其他创作
大纲/内容
Server中接收到请求路由后一般都会对每个请求文件中写一条Log:可以自动配置Server写日志,也可以通过执行业务逻辑的过程来写日志
处理后的数据存储到Kafka
JDBC
Ganlia
为了应对高并发访问,一般采用Nginx等作为Server前端
离线的方式
数据被消费
Tomcat、Apache
数据来源:互联网:电商、社交网络等的网站和App程序传统行业:金融、电信、医疗、农业、生产制造行业例如说:京东在进行广告推送,当我们点击广告的时候,此时肯定有日志Log发送回到Server,或者说我们使用的Android、IOS等中的App的时候,都会设置有数据记录的关键点(埋点)如果是网站:经典的方式是通过JS通过Ajax把日志传回到服务器上,如果移动App等一般是通过Socket,其他的传感器或者工业设备可以通过自己的通信协议把数据传回到服务端。
Flume
在企业大数据生产环境下有4大核心技术:Kafka、hdfs、spark、redis,如果说有五大核心技术的话:Kafka、hdfs、spark、redis、tachyon
Logs Cluster:可以专门设置日志服务器集群,所以server和J2EE类型的业务逻辑在执行过程中产生日志信息都可以在后台同步到日志服务器集群中
当Flume发现有新的日志文件进来的时候,会按照配置数据数据通过Channel来Sink到目的的,这里是Sink到Kafka集群中
HDFS:1,使用MapReduce作业对数就进行初步清洗,并写入到HDFS中;2,清洗后的数据一般导入到Hive数据仓库中,可以采用分区表3,通过Hive中的SQL在数据仓库的基础上就行ETL,此时ETL会把原始的数据生成很多张目标的Table
Spark:分析后的结果,用于提升营业额、利润和市场占有率
DB/Redis(但是在实际生产环境下,使用Redis比较多,因为QPS非常高,尤其是在并发和实施要求比较高的场景特别有用)
通过Ajax或者Socket或者其它通信协议
Server的分布式集群来做负载均衡
Kafka Cluster
企业中一般都会有Crontab等定时工具来通过了日志整理工具来把当天的日志采集起来、合并和初步的处理形成一份日志文件,然后发送到flume监控目录!!!
在线方式
Spark Streaming:主动从Kafka抓到数据,在线的进行处理(处理的过程可能使用机器学习和图计算等非常复杂的算法和功能),例如说,在线广告推荐,要结合ML的知识
广告点击系统实时分析:广告来自于网站或者移动App等,广告需要设定在具体的广告位,当用户点击广告的时候,一般都会通过JavaScript、Ajax或者Socket技术,往后台发送点击的日志数据,在这里,我们是要做的基于Spark Streaming做实时在线统计,那么数据就需要放进消息系统(Kafka中),我们的Spark Streaming应用程序就会去Kafka中Pull数据过来进行计算和消费,并把计算后的数据放入到持久化系统中(MySQL)广告点击系统实时分析的意义:因为可以在线实时的看见广告的投放效果,就为广告的更加规模的投入和调整打下坚实的基础,从而会为公司带来最大化的经济回报核心需求: 1,实时黑名单动态过滤出有效用的用户广告点击行为;因为黑名单可能随时出现,所以需要动态更新 2,在线计算广告的点击流量 3,Top3热门广告 4,每个广告的流量趋势 5,广告点击用户的区域的分布分析 6,最近一分钟的广告点击量 7,整个广告点击Spark Streaming处理程序7*24小时运行 数据格式: 时间、用户、广告、城市等技术细节: 在线计算用户点击的次数、屏蔽IP等 使用updateStateByKey或者mapWithState进行不同地区广告点击排名的计算 Spark Streaming + Spark SQL + Spark Core 等综合分析数据 使用Windows类型的操作 高可用和性能调优 流量趋势:一般会结合DB等
Java企业级组件:获取Hive数据并通过报表展示,提供营销、运行、运营、产品研发、改进等
0 条评论
下一页