Spark概述

1.1、什么是Spark

spark数据预处理 spark 数据_SQL


spark数据预处理 spark 数据_spark数据预处理_02

MR的缺点:

mr基于数据集计算,所以面向数据

(1)基本运算规则从存储介质中获取(采集)数据,然后进行计算,最后将结果存储到介质中,所以主要应用于一次计算,不适合于数据挖掘和机器学习的迭代计算和图形挖掘计算。

(2)MR基于文件存储介质的操作,所以性能非常慢。

(3)MR和hadoop紧密耦合在一起,无法动态替换

spark数据预处理 spark 数据_数据_03

Spark的历史
(1)2013年6月发布
(2)Spark基于Hadoop1.x架构思想,采用自己的方式改善Hadoop1.x中的问题
(3)Spark计算基于内存,并且基于Scala语法开发。所以天生适合迭代计算

spark数据预处理 spark 数据_数据_04


1.2、Spark内置模块

spark数据预处理 spark 数据_数据_05

Spark Core:实现了Spark的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。Spark
Core中还包含了对弹性分布式数据集(Resilient Distributed DataSet,简称RDD)的API定义。

Spark SQL:是Spark用来操作结构化数据的程序包。通过Spark SQL,我们可以使用 SQL或者Apache
Hive版本的SQL方言(HQL)来查询数据。Spark SQL支持多种数据源,比如Hive表、Parquet以及JSON等。

Spark Streaming:是Spark提供的对实时数据进行流式计算的组件。提供了用来操作数据流的API,并且与Spark Core中的
RDD API高度对应。

Spark MLlib:提供常见的机器学习(ML)功能的程序库。包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据
导入等额外的支持功能。

集群管理器:Spark 设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计
算。为了实现这样的要求,同时获得最大灵活性,Spark支持在各种集群管理器(Cluster Manager)上运行,包括Hadoop
YARN、Apache Mesos,以及Spark自带的一个简易调度 器,叫作独立调度器。

Spark得到了众多大数据公司的支持,这些公司包括Hortonworks、IBM、Intel、Cloudera、MapR、Pivotal、百度、阿里、腾讯、京东、携程、优酷土豆。当前百度的Spark已应用于大搜索、直达号、百度大数据等业务;阿里利用GraphX构建了大规模的图计算和图挖掘系统,实现了很多生产系统的推荐算法;腾讯Spark集群达到8000台的规模,是当前已知的世界上最大的Spark集群。


1.3、 Spark特点

spark数据预处理 spark 数据_SQL_06