bigdata-34-Spark初步了解

简介: bigdata-34-Spark初步了解

Spark是一个用于大规模数据处理的统一计算引擎

注意:Spark不仅仅可以做类似于MapReduce的离线数据计算,还可以做实时数据计算,并且它还可以实现类似于Hive的SQL计算,等等,所以说它是一个统一的计算引擎

Spark的特点

接下来看一下Spark的一些特点

  1. Speed:速度快
  2. Easy of Use:易用性
  3. Generality:通用性
  4. Runs Everywhere:到处运行

1.由于Spark是基于内存进行计算的,所以它的计算性能理论上可以比MapReduce快100倍

2.Spark可以使用多种编程语言快速编写应用程序,例如Java、Scala、Python、R和SQL

3.Spark提供了80多个高阶函数,可以轻松构建Spark任务

4.Spark提供了Core、SQL、Streaming、MLlib、GraphX等技术组件,可以一站式地完成大数据领域的离线批处理、SQL交互式查询、流式实时计算,机器学习、图计算等常见的任务

从这可以看出来Spark也是一个具备完整生态圈的技术框架

5.在Hadoop YARN、Mesos或Kubernetes上使用Spark集群。

并且可以访问HDFS、Alluxio、Apache Cassandra、Apache HBase、Apache Hive和数百个其它数据源中的数据.

Spark vs Hadoop

那接下来我们拿Spark和Hadoop做一个对比

在这里我们通过三个层面进行对比分析

  1. 综合能力

Spark是一个综合性质的计算引擎

Hadoop既包含MapReduce(计算引擎),还包含HDFS(分布式存储)和Yarn(资源管理)

所以说他们两个的定位是不一样的。

从综合能力上来说,hadoop是完胜spark的

  1. 计算模型

Spark 任务可以包含多个计算操作,轻松实现复杂迭代计算

而Hadoop中的MapReduce任务只包含Map和Reduce阶段,不够灵活

从计算模型上来说,spark是完胜hadoop的

  1. 处理速度

Spark 任务的数据是基于内存的,计算速度很快

而Hadoop中MapReduce 任务是基于磁盘的,速度较慢

从处理速度上来说,spark也是完胜hadoop的

之前有一种说法,说Spark将会替代Hadoop,这个说法是错误的,其实它们两个的定位是不一样的,Spark是一个通用的计算引擎,而Hadoop是一个包含HDFS、MapRedcue和YARN的框架,所以说Spark就算替代也只是替代Hadoop中的MapReduce,也不会整个替代Hadoop,因为Spark还需要依赖于Hadoop中的HDFS和YARN。

所以在实际工作中Hadoop会作为一个提供分布式存储和分布式资源管理的角色存在

Spark会在它之上去执行。

所以在工作中就会把spark和hadoop结合到一块来使用

Spark+Hadoop

那下面我们来看一下Spark和Hadoop是如何结合

看这个图

  1. 底层是Hadoop的HDFS和YARN
  2. Spark core指的是Spark的离线批处理
  3. Spark Streaming指的是Spark的实时流计算
  4. SparkSQL指的是Spark中的SQL计算
  5. Spark Mlib指的是Spark中的机器学习库,这里面集成了很多机器学习算法
  6. 最后这个Spark GraphX是指图计算

Spark主要应用在以下这些应用场景中

  1. 低延时的海量数据计算需求,这个说的就是针对Spark core的应用
  2. 低延时SQL交互查询需求,这个说的就是针对Spark SQL的应用
  3. 准实时(秒级)海量数据计算需求,这个说的就是Spark Streaming的应用
相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
30天前
|
存储 缓存 分布式计算
bigdata-37-SparkRDD
bigdata-37-SparkRDD
17 0
|
30天前
|
存储 分布式计算 数据处理
bigdata-35-Spark工作原理
bigdata-35-Spark工作原理
12 0
|
存储 分布式计算 大数据
hadoop和spark的区别
学习hadoop已经有很长一段时间了,好像是二三月份的时候朋友给了一个国产Hadoop发行版下载地址,因为还是在学习阶段就下载了一个三节点的学习版玩一下。在研究、学习hadoop的朋友可以去找一下看看
3816 0
|
30天前
|
分布式计算 资源调度 Hadoop
bigdata-06-Hadoop了解与配置
bigdata-06-Hadoop了解与配置
37 0
|
4月前
|
缓存 分布式计算 关系型数据库
Spark案例库V1.0版
Spark案例库V1.0版
27 0
|
4月前
|
分布式计算 资源调度 Java
Hadoop学习笔记(HDP)-Part.17 安装Spark2
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
41 0
Hadoop学习笔记(HDP)-Part.17 安装Spark2
|
4月前
|
SQL 分布式计算 Hadoop
Hadoop学习笔记(HDP)-Part.16 安装HBase
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
82 1
Hadoop学习笔记(HDP)-Part.16 安装HBase
|
分布式计算 Spark
Spark:pyspark的WordCount实现
Spark:pyspark的WordCount实现
140 0
Spark:pyspark的WordCount实现
|
SQL 机器学习/深度学习 分布式计算
spark介绍
spark介绍
2112 0
spark介绍
|
机器学习/深度学习 存储 分布式计算
Hadoop实战-part2 Hadoop 2.0
Hadoop实战-part2 Hadoop 2.0
203 0