大数据Spark企业级项目实战(实战sparksql和kafka的流数据处理应用)
  完结
收藏课程
9999+

大数据Spark企业级项目实战(实战sparksql和kafka的流数据处理应用)

本教程从最基础的Spark介绍开始,介绍Spark的各种部署模式以及动手进行搭建,然后逐步介绍其中RDD的计算模型,创建和常用的操作,以及其中一些分布式计算,R...

适合人群:高级
课时数量:30课时
用到技术:大数据,SPARK,SPARKSQL,SPARKSTREAMING
涉及项目:SPARKSQL之结构化数据处理 SPARKSTREAMING+SPARKSQL+KAFKA消息队列+流式结构化数据处理项目实战

  • 课程顾问贴心解答

    为你推荐精品课程,无论就业还是升职加薪,毫无压力。

  • 名企定制紧随大流

    量身打造紧贴企业需求的实用性课程。

  • 系统教学把控效果

    集学、测、练为一体的学习系统为你科学的安排学习进度,提高效率。

  • 一线大师1对1指导

    课程研发团队内一线资深讲师一对一指导,手把手教学,直到学会。

  • 点播答疑完美结合

    每周2-3次直播解答,保证学员日常学习问题能得到解决。

  • 量身定制学习计划

    告别杂乱的学习方式,我们会根据你的情况定制学习计划。

 

 

在2014年以后,大数据领域内掀起了一股强劲的Apache Spark学习和应用的浪潮。Apache Spark以内存计算为核心,以其通用,快速和完整的生态圈等特点,正在逐步取代速度较慢的hadoop,越来越多的应用在了企业中。ADHOC SQL查询,流计算,数据挖掘,图计算,R语言,一个又一个功能强大的组件使得越来越多的spark爱好者和企业界意识到,只要掌握一门spark技术,就能够为大多数的企业遇到的大数据的应用场景提供明显的加速。

 

学习Spark,成为一名合格的Spark工程师,使得每个致力于大数据行业的人,不仅能得到技术上的提升,也为个人的薪资带来了巨大的提升空间。

 

 

1.课程研发环境

项目源代码以spark1.5.2,jdk8,scala2.10.5为基准。

开发工具:SCALA IDE eclipse;

其他工具:shell脚本  

 

2.内容简介

本教程从最基础的Spark介绍开始,介绍Spark的各种部署模式以及动手进行搭建,然后逐步介绍其中RDD的计算模型,创建和常用的操作,以及其中一些分布式计算,RDD持久化,容错,shuffle机制,共享变量等内容。

而后在RDD的基础上,讲解SparkSQL的子框架,介绍dataframe,使用场景,创建方法,对parquet等文件格式和不同类型的数据源的支持,对hive的兼容和整合,以及对传统数据库的JDBC的支持,和thriftserver的部署等。再配合一些实战动手的实验来加深对dataframe的理解和应用。

然后,讲解sparkstreaming的子框架,介绍DSTREAM的概念,使用场景,数据源,操作,容错,性能调优,还有与kafka的集成。

最后以2个项目来实际带学习者到开发环境中去动手开发,调试,一些基于SparkSQL,SparkStreaming,kafka的实战项目,加深大家对Spark应用开发的理解。其中简化了企业里的实际业务逻辑,加强对错误调试的分析和思路上的启发,使得学习者更容易掌握Spark的开发技巧。

 

 

12年开始从事hadoop领域技术研究,14年专职从事spark技术研究与开发,目前在企业里从事spark相关工作,同时负责企业的内训,主讲spark部分。在14年夏做为Hadoop培训讲师,曾参与过广州汇丰银行的高级Hadoop课程(Hbase,Spark)培训,并与该企业中的一些学员互留联系方式并保持长期技术上的联系。曾参与EASYHADOOP社区14年11月活动,演讲《spark介绍及SPARKSQL应用》,获得学员和与会者的好评并有长期的技术层面联系。

 

 

内容
培训大纲
实战
第一讲_spark简介
 
Ø spark介绍
Ø Spark与hadoop的比较
Ø Spark的使用场景介绍
Ø spark软件栈
Ø 动手搭建一个最简单的spark集群
Ø 运行例子程序SparkPi
实战:单节点的spark部署和运行SparkPi
第二讲_spark部署模式介绍
Ø Spark部署模式OverView
Ø Spark启动过程详解
Ø Spark集群部署之Standalone
Ø Spark集群部署之Spark on Yarn
Ø Spark集群部署之Spark on Mesos
实战:完全分布式的spark 
standalone和spark on yarn模式的动手实战
第三讲_spark集群硬件,开发语言和java版本的选择
Ø spark集群硬件配置
Ø spark开发的语言选择
Ø Java版本的选择
 
第四讲_spark的rdd及其操作介绍
Ø RDD介绍及创建
Ø RDD的操作
Ø RDD函数传递
Ø 闭包
Ø shuffle介绍
Ø RDD的持久化
Ø 共享变量
Ø 常用transformation和action的API介绍
Ø 在spark-shell里动手实战wordcount及常用API 
Ø Scala介绍
实战:动手在Sparkshell中编写wordcount和linecount,以及动手实验常用的RDD操作。
第五讲_SparkSQL及DataFrame讲解
Ø SparkSQL简介
Ø SparkSQL之DataframeSave&Load
Ø SparkSQL之Dataframe介绍及创建
Ø SparkSQL之DataframeParquet
Ø SparkSQL之DataframeJson&HiveTables
Ø SparkSQL之DataframeJDBC&PerformanceTuning&Cli&ThriftServer
实战:Sparksql的Dataframe创建,配置,SparkSQL连接hive,及ThriftServer.
 
第六讲_SparkStreaming和DStream介绍
Ø SparkStreaming的demo和介绍
Ø DStream和DataSource
Ø DStream的Transformation和output
Ø DStream持久化,checkpoint,以及和DataFrame的交互
Ø SparkStreaming应用的部署和监控
1) Spark Streaming应用的监控与分析
第七讲_SparkStreaming性能调优,容错和Kafka集成
Ø SparkStreaming的性能调优
Ø SparkStreaming的容错
Ø SparkStreaming与Kafka的集成
 
第八讲__SparkSQL项目实战之文本比对
Ø 开发SparkSQL应用的雏形和定义dataframe
Ø 数据清洗
Ø 业务逻辑的实现和保存数据处理结果
Ø 开发SparkSQL应用调度程序,实现多文本并行
Ø SparkSQL应用的参数化,提高可配置性
Ø SparkSQL应用部署到集群中,调试
Ø 编写简单的shell脚本,调试及查阅JIRA
Ø 集群和SparkSQL应用参数的调整
Ø SparkSQL应用schedular模式介绍和性能调优
实战:在spark上开发一个文本比对的SparkSQL的应用
第九讲_SparkStreaming+
SparkSQL+Kafka
项目实战开发
Ø kafka简介,安装和集群搭建
Ø kafka实战
Ø 多组件部署模式的设计与思考
Ø SparkStreaming+kafka应用运行日志的分析
Ø 开发基于direct模式的SparkStreaming应用
Ø SparkStreaming应用的参数设置
Ø SparkStreaming应用部署调试
Ø SparkStreaming与SparkSQL结合
Ø Kafka集群升级与connect的探索
Ø 开发自定义的Kafka producer,完成整个应用
实战:在第八讲的基础上,继续开发一个sparkstreaming结合sparksql和kafka的流数据处理应用

 

 

 

 

目标一. 了解Spark的特点,应用场景,RDD的计算模型

 

目标二. 学会动手搭建不同模式下的Spark集群

 

目标三. 掌握RDD的创建,使用,运行的相关机制

 

目标四. 了解SparkSQL的应用场景,特点

 

目标五. 掌握对dataframe的创建,操作,会动手写SparkSQL的应用,并进行调试和调优

 

目标六. 了解SparkStreaming的应用场景,特点,DSTREAM的相关机制,调优以及和kafka的集成

 

目标七. 掌握开发SparkStreaming应用的技巧,调试和其他调优

 

 

亮点一、Spark1.5.2 + scala2.10.5+Kafka 0.9.0.0,一整套对结构化数据的做批处理和流处理的实战案例

 

亮点二、理论与实战相结合,由浅入深。即照顾到基础学员,又照顾到有一定经验的学员,讲解过程中留有学生思考的时间.

 

亮点三、课程绝大多数代码均以scala为编程语言,在实战的时候,融入了对scala语言的语法和特点,以及实际开发的介绍。代码大部分一行一行手工敲入,手把手一步步带领学员从入门到精通.

 

亮点四、整个课程虽项目不大,但整个项目基本上涉及到Spark应用开发,官方文档阅读,调试,调优的方方面面,而且讲师框架基本是按照实际项目开发的顺序来做讲解,学员拿到该项目后稍加改造就可以用到自己的项目,实用性超强.  

 

 

1.课程针对人群

本课程针对稍有的hadoop,scala基础(不要求懂shell脚本)的学员,想通过本项目的学习,了解使用scala开发Spark应用的学员。也适合是有志于成为Spark或者大数据开发工程师的学员。   

 

2.我该怎么学,如何才能学好这门课程,给些建议。

2.1、时间上的安排建议

       本课程共63讲,如果您时间上充分,建议以每天3-4讲的进度往前学习。 

2.2、学习要求

       如果您没有基础,建议还是中规中矩的按照课程进度一点一点仔细观看学习,并一定要把看完的视频中的代码自己手敲一遍,以加深理解和记忆,对于课后的作业,应该尽可能的完成,只有实际动手才会有收获。

       如果您有基础,可不必按步就搬进行,可以拿你感兴趣的部分去学习,但一定要注意实践,并学会举一反三 

2.3、讲师建议

       1.最好看完视频之后,抛开视频,独立自己去把上课中的示例写一遍,看自己是否理解,如果不正确,可以回过头看再看下视频,如果反复,达到真正理解和熟练掌握的目的。

       2.对于项目实战部分,一定要自己亲自动手做一遍,不要满足听完就OK了

       3. 建议一般听视频,用云笔记软件做一些记录和笔记,在空闲的时间里可以在手机上翻出来复习下,这是一种非常好的学习习惯。

       4. 一定不要过于依赖视频,要学会看官方文档,积极加入到社区中去,多用API和使用百度,有时间翻译下Spark相关论文和一些重要的官方文档,学会思考,学会举一反三

       5. 最后祝您学有所成

 

 

课程是属于大数据行业的专业技术,掌握该技术后,你可以从事以下职位的相关工作

1.Spark开发工程师

2.Hadoop开发工程师

3.大数据研发工程师