内容发布更新时间 : 2024/11/16 23:30:54星期一 下面是文章的全部内容请认真阅读。
Spark入门
1. 课程目标...................................................................................................................................... 2
1.1. 目标1:熟悉Spark相关概念 ......................................................................................... 2 1.2. 目标2:搭建Spark集群 ................................................................................................. 2 1.3. 目标3:编写简单的Spark应用程序 ............................................................................. 2 2. Spark概述..................................................................................................................................... 2
2.1. 什么是Spark(官网:http://spark.apache.org) .......................................................... 2 2.2. 为什么要学Spark ............................................................................................................. 2 2.3. Spark特点 .......................................................................................................................... 3
2.3.1. 快 ........................................................................................................................... 3 2.3.2. 易用........................................................................................................................ 3 2.3.3. 通用........................................................................................................................ 4 2.3.4. 兼容性.................................................................................................................... 4
3. Spark集群安装 ............................................................................................................................. 4
3.1. 安装 ................................................................................................................................... 4
3.1.1. 机器部署 ................................................................................................................ 4 3.1.2. 下载Spark安装包 ................................................................................................. 5 3.1.3. 配置Spark.............................................................................................................. 5
4. 执行Spark程序........................................................................................................................... 6
4.1. 执行第一个spark程序 .................................................................................................... 6 4.2. 启动Spark Shell ................................................................................................................ 7
4.2.1. 启动spark shell ..................................................................................................... 7 4.2.2. 在spark shell中编写WordCount程序 ................................................................ 7 4.3. 在IDEA中编写WordCount程序 ..................................................................................... 8
1. 课程目标
1.1. 目标1:熟悉Spark相关概念 1.2. 目标2:搭建Spark集群
1.3. 目标3:编写简单的Spark应用程序
2. Spark概述
2.1. 什么是Spark(官网:http://spark.apache.org)
Spark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目。目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLlib等子项目,Spark是基于内存计算的大数据并行计算框架。Spark基于内存计算,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性,允许用户将Spark部署在大量廉价硬件之上,形成集群。Spark得到了众多大数据公司的支持,这些公司包括Hortonworks、IBM、Intel、Cloudera、MapR、Pivotal、百度、阿里、腾讯、京东、携程、优酷土豆。当前百度的Spark已应用于凤巢、大搜索、直达号、百度大数据等业务;阿里利用GraphX构建了大规模的图计算和图挖掘系统,实现了很多生产系统的推荐算法;腾讯Spark集群达到8000台的规模,是当前已知的世界上最大的Spark集群。
2.2. 为什么要学Spark
中间结果输出:基于MapReduce的计算引擎通常会将中间结果输出到磁盘上,进行存储和容错。出于任务管道承接的,考虑,当一些查询翻译到MapReduce任务时,往往会产生多
个Stage,而这些串联的Stage又依赖于底层文件系统(如HDFS)来存储每一个Stage的输出结果 Hadoop Spark Spark是MapReduce的替代方案,而且兼容HDFS、Hive,可融入Hadoop的生态系统,以弥
补MapReduce的不足。
2.3. Spark特点 2.3.1. 快
与Hadoop的MapReduce相比,Spark基于内存的运算要快100倍以上,基于硬盘的运算也要快10倍以上。Spark实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流。
2.3.2. 易用
Spark支持Java、Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用。而且Spark支持交互式的Python和Scala的shell,可以非常方便地在这些shell中使用Spark集群来验证解决问题的方法。