spark实际项目用户行为分析大数据平台实战视频教程
spark实际项目用户行为分析大数据平台实战课程导读
1、本次spark实际项目是国内一线互联网公司正在推行使用的企业级大数据项目,主要使用spark框架进行实战。
2、本套spark实际项目课程以spark技术讲解实战项目为主,分享讲师多年从事互联网大数据项目的经验运用于项目开发中,可以避免甚至减少同学们走弯路,并且项目复杂难度极高,共计138节课程,学完本套项目,童鞋们一定可以积累到大量的spark大数据方面的知识以及讲师传授的工作总结经验。
3、如果童鞋们有spark方面的基础的话,我敢向大家保证,实战完本门课程可以达到两到三年纯spark大数据项目开发的经验,迈入高级大数据工程师的行列。
4、学员今后想要跳槽或者面试的时候,有了该套复杂度极高的spark实际项目经验以及熟练掌握的spark知识会让你在面试过程中有了谈高薪的底气,甚至可以应对国内一线著名互联网公司。
5、学习本套spark实际项目的童鞋们要求你有很好的java基础、hadoop必须会熟练应用、spark从入门到精通也要熟练掌握,如果以上技术点玩不转的话将会很难掌握和消化这套实战项目,因为这套项目比较复杂。
第一章 大数据集群搭建
1、第一章属于spark实际项目前的准备阶段,本章节需要将spark实际项目中用到的环境集群搭建、工具统统准备完善,有个好的开端才能在下面的实际项目开发中无往而不利。
2、本章节需要搭建具有三个节点的CentOS集群环境,各个工具确保版本一致兼容,CentOS使用6.4版本的镜像文件,hadoop使用cdh5.3.6的版本进行搭建,这些工具都会打包在spark实际项目课程中提供给大家。
3、spark实际项目大数据集群搭建课程大纲:
1.1、课程介绍 |
1.2、CentOS 6.4集群搭建-1 |
1.3、CentOS 6.4集群搭建-2 |
1.4、hadoop-2.5.0-cdh5.3.6集群搭建 |
1.5、hive-0.13.1-cdh5.3.6安装 |
1.6、zookeeper-3.4.5-cdh5.3.6集群搭建 |
1.7、kafka_2.9.2-0.8.1集群搭建 |
1.8、flume-ng-1.5.0-cdh5.3.6安装 |
1.9、离线日志采集流程介绍 |
1.10、实时数据采集流程介绍 |
1.11、Spark 1.5.1客户端安装以及基于YARN的提交模式 |
第二章 用户访问session分析
1、第二章进行spark实际项目的开发,这一章节是项目的重中之重,该模块是用户访问session分析模块,也是最复杂、最困难的一个模块。
2、本模块要实现的目标是spark实际项目的用户访问session分析,什么意思呢?就是可以根据登录用户的某些条件,筛选出一些特定的用户进行分析,比如有特定年龄、职业、所在城市的一些用户。
3、用户筛选完成后如何做统计分析呢?比如说对这些用户在指定日期范围内发起的session进行统计,统计访问时长在0~3秒的session占总session数量的比列。
4、spark实际项目用户访问session分析课程大纲:
2.1、模块介绍 |
2.2、基础数据结构以及大数据平台架构介绍 |
2.3、需求分析 |
2.4、技术方案设计 |
2.5、数据表设计 |
2.6、Eclipse工程搭建以及工具类说明 |
2.7、开发配置管理组件 |
2.8、JDBC原理介绍以及增删改查示范 |
2.9、数据库连接池原理 |
2.10、单例设计模式 |
2.11、内部类以及匿名内部类 |
2.12、开发JDBC辅助组件(上) |
2.13、开发JDBC辅助组件(下) |
2.14、JavaBean概念讲解 |
2.15、DAO模式讲解以及TaskDAO开发 |
2.16、工厂模式讲解以及DAOFactory开发 |
2.17、JSON数据格式讲解以及fastjson介绍 |
2.18、Spark上下文构建以及模拟数据生成 |
2.19、按session粒度进行数据聚合 |
2.20、按筛选参数对session粒度聚合数据进行过滤 |
2.21、session聚合统计之自定义Accumulator |
2.22、session聚合统计之重构实现思路与重构session聚合 |
2.23、session聚合统计之重构过滤进行统计 |
2.24、session聚合统计之计算统计结果并写入MySQL |
2.25、session聚合统计之本地测试 |
2.26、session聚合统计之使用Scala实现自定义Accumulator |
2.27、session随机抽取之实现思路分析 |
2.28、session随机抽取之计算每天每小时session数量 |
2.29、session随机抽取之按时间比例随机抽取算法实现 |
2.30、session随机抽取之根据随机索引进行抽取 |
2.31、session随机抽取之获取抽取session的明细数据 |
2.32、session随机抽取之本地测试 |
2.33、top10热门品类之需求回顾以及实现思路分析 |
2.34、top10热门品类之获取session访问过的所有品类 |
2.35、top10热门品类之计算各品类点击、下单和支付的次数 |
2.36、top10热门品类之join品类与点击下单支付次数 |
2.37、top10热门品类之自定义二次排序key |
2.38、top10热门品类之进行二次排序 |
2.39、top10热门品类之获取top10品类并写入MySQL |
2.40、top10热门品类之本地测试 |
2.41、top10热门品类之使用Scala实现二次排序 |
2.42、top10活跃session之计算top10品类被各sessoin点击的次数 |
2.43、top10活跃session之分组取TopN算法获取top10活跃session |
2.44、top10活跃session之本地测试以及阶段总结 |
第三章 企业级性能调优
1、第二章已经将用户session分析模块所有的功能点全部开发完成,第三章的目标就是进行spark实际项目企业级的性能调优,让程序跑的更快、效率更高。
2、本章主要对spark实际项目的用户session分析模块所涉及的二十多个技术点进行整套的性能优化,讲师根据自己多年的经验讲解实际项目中如何进行性能调优以及分配更多资源。
3、除了讲解性能调优的实际操作步骤外,还会涉及原理部分,讲解为什么如此操作就能够让程序效率更快,让大家明白知其然并且知其所以然。
4、spark实际项目企业级性能调优模块目录大纲:
3.1、性能调优之在实际项目中分配更多资源 |
3.2、性能调优之在实际项目中调节并行度 |
3.3、性能调优之在实际项目中重构RDD架构以及RDD持久化 |
3.4、性能调优之在实际项目中广播大变量 |
3.5、性能调优之在实际项目中使用Kryo序列化 |
3.6、性能调优之在实际项目中使用fastutil优化数据格式 |
3.7、性能调优之在实际项目中调节数据本地化等待时长 |
3.8、JVM调优之原理概述以及降低cache操作的内存占比 |
3.9、JVM调优之调节executor堆外内存与连接等待时长 |
3.10、Shuffle调优之原理概述 |
3.11、Shuffle调优之合并map端输出文件 |
3.12、Shuffle调优之调节map端内存缓冲与reduce端内存占比 |
3.13、Shuffle调优之HashShuffleManager与SortShuffleManager |
3.14、算子调优之MapPartitions提升Map类操作性能 |
3.15、算子调优之filter过后使用coalesce减少分区数量 |
3.16、算子调优之使用foreachPartition优化写数据库性能 |
3.17、算子调优之使用repartition解决Spark SQL低并行度的性能问 |
3.18、算子调优之reduceByKey本地聚合介绍 |
3.19、troubleshooting之控制shuffle reduce端缓冲大小以避免OOM |
3.20、troubleshooting之解决JVM GC导致的shuffle文件拉取失败 |
3.21、troubleshooting之解决YARN队列资源不足导致的application直接失败 |
3.22、troubleshooting之解决各种序列化导致的报错 |
3.23、troubleshooting之解决算子函数返回NULL导致的问题 |
3.24、troubleshooting之解决yarn-client模式导致的网卡流量激增问题 |
3.25、troubleshooting之解决yarn-cluster模式的JVM栈内存溢出问题 |
3.26、troubleshooting之错误的持久化方式以及checkpoint的使用 |
3.27、数据倾斜解决方案之原理以及现象分析 |
3.28、数据倾斜解决方案之聚合源数据以及过滤导致倾斜的key |
3.29、数据倾斜解决方案之提高shuffle操作reduce并行度 |
3.30、数据倾斜解决方案之使用随机key实现双重聚合 |
3.31、数据倾斜解决方案之将reduce join转换为map join |
3.32、数据倾斜解决方案之sample采样倾斜key单独进行join |
3.33、数据倾斜解决方案之使用随机数以及扩容表进行join |
第四章 页面单跳转化率统计
1、页面单跳转化率的模块是spark实际项目中相对较简单的模块,为什么还需要单独列出这一模块呢?是因为想要告诉大家,在互联网行业做这种用户行为分析的spark实际项目时,页面单跳转化率是非常经典的功能,而且也非常有用。
2、假设有有人访问我们商品列表页,这是我们就会希望用户跳转到spark实际项目的商品详情页进行支付购买,这个页面跳转就叫做单跳,跳转过去的数量与访问总数量之比就叫单跳转化率,统计该数据有助于对用户购买率进行数据分析。
3、spark实际项目页面单跳转化率统计模块课程大纲:
4.1、模块介绍 |
4.2、需求分析、技术方案设计、数据表设计 |
4.3、编写基础代码 |
4.4、面切片生成以及页面流匹配算法实现 |
4.5、计算页面流起始页面的pv |
4.6、计算页面切片的转化率 |
4.7、将页面切片转化率写入MySQL |
4.8、本地测试 |
4.9、生产环境测试 |
4.10、生产环境测试 |
第五章 各区域热门商品统计
1、本章为各区域热门商品统计模块,模块的需求是根据spark实际项目的用户指定的日期范围,统计各个地区或各个区域下的最热门的排名前几位的商品有哪些。
2、spark实际项目各区域热门商品统计课程大纲:
5.1、模块介绍 |
5.2、需求分析、技术方案设计以及数据设计 |
5.3、查询用户指定日期范围内的点击行为数据 |
5.4、异构数据源之从MySQL中查询城市数据 |
5.5、关联城市信息以及RDD转换为DataFrame后注册临时表 |
5.6、开发自定义UDAF聚合函数之group_concat_distinct() |
5.7、查询各区域各商品的点击次数并拼接城市列表 |
5.8、关联商品信息并使用自定义get_json_object函数和内置if函数标记经营类型 |
5.9、使用开窗函数统计各区域的top3热门商品 |
5.10、使用内置case when函数给各个区域打上级别标记 |
5.11、将结果数据写入MySQL中 |
5.12、Spark SQL数据倾斜解决方案 |
5.13、生产环境测试 |
第六章 广告点击流量实时统计
1、第六章是广告点击流量实时统计模块,该模块是跟spark技术结合性很强的模块,统计spark实际项目用户的广告点击行为,代表了电商网站用户行为的方方面面。
2、咱们的电商平台通常会给一些客户投放广告,广告投放在网站的某个广告位的位置,当用户来网站的时候,广告会显示出来,这是就会有用户去点击,广告被点击以后,我们就会根据这种点击行为进行实时的大数据计算和统计。
3、spark实际项目广告点击流量实时统计课程大纲:
6.1、需求分析、技术方案设计以及数据设计 |
6.2、为动态黑名单实时计算每天各用户对各广告的点击次数 |
6.3、使用高性能方式将实时计算结果写入MySQL中 |
6.4、过滤出每个batch中的黑名单用户以生成动态黑名单 |
6.5、基于动态黑名单进行点击行为过滤 |
6.6、计算每天各省各城市各广告的点击量 |
6.7、计算每天各省的top3热门广告 |
6.8、计算每天各广告最近1小时滑动窗口内的点击趋势 |
6.9、实现实时计算程序的HA高可用性 |
6.10、对实时计算程序进行性能调优 |
6.11、生产环境测试 |
6.12、都学到了什么? |
123.Spark 2.0-新特性介绍 |
124.Spark 2.0-易用性:标准化SQL支持以及更合理的API |
125.Spark 2.0-高性能:让Spark作为编译器来运行 |
126.Spark 2.0-新特性介绍-智能化:Structured Streaming介绍 |
127.Spark 2.0-新特性介绍-Spark 1.x的Volcano Iterator Model深度剖析 |
128.Spark 2.0-新特性介绍-whole-stage code generation技术和vectorization技术 |
129.Spark 2.0-Spark 2.x与1.x对比以及分析、学习建议以及使用建议 |
130.Spark 2.0-课程环境搭建:虚拟机、CentOS、Hadoop、Spark等 |
131.Spark 2.0-开发环境搭建:Eclipse+Maven+Scala+Spark |
132.用户活跃度分析:模块介绍以及交互式用户行为分析系统的解释 |
133.用户活跃度分析:统计指定时间内访问次数最多的10个用户 |
134.统计指定时间内购买金额最多的10个用户 |
135.基于Spark 2.0的用户活跃度分析:统计最近一个周期相比上一个周期访问次数增长最多的10个用户 |
136.基于Spark 2.0的用户活跃度分析:统计最近一个周期相比上一个周期购买金额增长最多的10个用户 |
137.基于Spark 2.0的用户活跃度分析:统计指定注册时间范围内头7天访问次数最高的10个用户 |
138.基于Spark 2.0的用户活跃度分析:统计指定注册时间范围内头7天购买金额最高的10个用户 |
相关文章 |