基于Spark知名手机厂商用户行为实时分析系统,对Spark手机项目横向业务扩展,重点解决大数据项目中的高吞吐、高并发的实际难题,快速提升真实的大数据项目经验。
项目介绍
1、根据用户上报的数据,给用户增加成长值,用户得到成长值后可以升级,每个级别有不同的特权,比如等级越高享有的特权就越高,比如可以获得视频会员、电影票等。
2、业务系统跟大数据系统紧密结合,业务系统将用户数据写入分布式消息队列kafka,消费者根据业务逻辑写入关系型数据库和列存储数据库hbase.
3、利用kafka提供的消费者api编写分布式消费者,结合kafka体系结构零距离接触kafka低级、高级消费者api以及新消费者API,更深入了解kafka,设计高吞吐量的消费者。
4、项目包含用户行为上报项目、分布式消费者项目、成长体系用户接口项目,大数据+业务系统高可用高并发的构架方案。
5、涉及的技术java、mysql、redis、kafka、hbase、Hadoop、Spark
课程特色
1.该项目基于Spark知名手机厂商用户行为实时分析系统,对Spark手机项目横向业务扩展,重点解决大数据项目中的高吞吐、高并发的实际难题,快速提升真实的大数据项目经验。
2.该项目涵盖大数据项目中的热门技术,同时涉及如何为Kafka设计吞吐量的消费者,以及实现 HBase高并发编程接口。
3.该项目基于知名手机项目线上业务的实现,注重企业项目真实问题的解决以及性能的提升与优化,拒绝小demo小案例。
4.知名企业一线大数据工程师负责项目的讲解,并参与项目答疑。
项目涉及技术
Java,Mysql、Redis、Kafka,Hbase、Hadoop YARN,Spark-streaming
Hadoop:分布式文件存储系统、资源管理平台,负责spark-streaming的文件存储和资源分配
Spark-streaming:基于内存的高吞吐量实时流式计算
Kafka:分布式高并发消息队列,业务系统将用户数据写入分布式消息队列kafka
Hbase:亿级行百万列并可毫秒级查询的数据库,可快速查询我们的计算数据
适用人群
1、熟悉大数据相关组件(Kafka、HBase)的学员;
2、有java编程基础的学员;
3、想转行或者从事大数据项目开发的学员;
4、想提升大数据项目高吞吐、高并发经验的学员。
课程目标
1、从全局了解业务系统和大数据系统紧密结合的项目设计与实战,打开同学们的大局观,而不是只了解局部。
2、学会根据业务建立合适的模型,从而达到举一反三的目的。
3、kafka的生产者和消费者很重要,你自认为掌握了吗?其实没有!因为平时我们用的都是第三方开源项目给我们封装好了的生产者和消费者,致使我们接触不到核心的api。本次课程零距离让同学们接触生产者和消费者API开发实战,进一步了解kafka,从而对kafka+spark-streamming的使用感悟会更深、原理会更清晰。
4、熟练掌握hbase在业务系统中的应用场景。
5、掌握如何利用缓存来达到高性能的接口设计。
讲师介绍
-
杨哲
大讲台大数据特聘讲师 | 国内知名手机厂商大数据资深工程师
某大型手机厂商大数据小组Team Leader,对离线计算和实时计算都有丰富的经验。从业时间10年,曾在社交网络、移动广告、视频等行业研发大数据平台,擅长Hadoop、Flume、Kafka、Spark 、hbase大数据相关技术。在高可用高并发的业务系统的研发以及构架设计也有丰富的经验,热衷于将业务系统和大数据系统相结合的项目开发与设计。
开课时间
2018年1月14日(周日晚)
学习方式
在线直播,8课时;
1月14、1月21、1月28、1月29日晚上20:00-22:00;
直播后提供回放视频,可在线反复观看,有效期1年
课程大纲
2.1 项目接口数据格式的定义与分析 2.2 客户端对用户上报的数据进行unzip压缩和AES对称加密,保护用户隐私数据。 2.3 服务端采用注解对用户数据进行解密、解压,并校验数据有效性 2.4 使用httpclient模拟手机APP用户上报数据 2.5 Kafka生产者创建与配置详解 2.6 如何指定Kafka分区策略 |
3.1 hbase、mysql、redis建模 3.2 高级分布式消费者编写,并剖析消费者和zookeeper之间的关系 3.3 参数调优让消费者吞吐量达到最高 3.4 详解消费线程和kafka分区之间的关系 3.5 消费者的高可用实战操作 3.6 用户成长体系业务逻辑处理 3.7 企业项目中消费者如何优雅停止而非暴力关闭 3.8 offset如何提交 3.9 消费者线程池详解 |
4.1 低级消费者实战 4.2 自己如何获取分区的leader、offset,以及自己如何维护分区的offset 4.3 新消费者实战(新版本kafka去掉了高级和低级消费者) |
常见问题
Q:会有实际上机演示和动手操作吗?
A:本课程为项目拆解课,全程实操演练!不仅仅是简单演示,而是手把手带你操练真实项目。
Q:项目代码会提供么?
A:课程提供完整的项目代码。
Q:在线直播课程怎么答疑?
A: 每个班级会建立专门的班级QQ群,学员可以针对课程中的问题,或者自己学习与动手实践中的问题,向老师提问,老师会进行相应解答。同时,强烈推荐大家到官网技术问答区提问,方便知识的沉淀,同时也避免因为QQ群信息刷屏而导致你的问题被老师错过。