Spark 基础

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集群来验证解决问题的方法。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4