【大数据入门核心技术-Spark】(一)Spark介绍
创始人
2024-04-21 07:22:14
0

目录

一、Spark概述

二、为什么要学习Spark

三、Spark 四大特性

1、速度快

2、易用性

3、通用性

4、兼容性


一、Spark概述


Apache Spark™ is a unified analytics engine for large-scale data processing.

spark是基于内存计算的大数据处理框架,由于基于内存计算,处理数据非常快。这里仅仅只涉及到数据的计算,并没有涉及到数据的存储,后期就需要对接各种不同的外部数据源,比如处理HDFS上的数据。

官方网址:
https://spark.apache.org/ 

二、为什么要学习Spark

就是因为spark处理速度比mapreduce快很多,提高任务运行的速度,很受企业青睐。
spark不在是一个简单的框架,而是发展成一个生态系统,它里面有很多不同的子项目
sparksql
sparkStreaming
Graphx
Mlib


三、Spark 四大特性


1、速度快

spark比mapreduce在内存中快100倍,比mapreduce在磁盘中快10倍。

spark比mapreduce快的主要2个原因
1)mapreduce的任务每一个job它的输出结果只能够保存在磁盘,后续有其他的job需要依赖于前面job的输出结果,这个时候需要进行大量的磁盘io操作。 spark的任务每一个job它的输出结果可以保存在内存中,后续有其他的job需要依赖于前面job的输出结果,这个时候就可以直接在内存中获取得到,大大减少磁盘io操作,最后提升了性能。


例如: select name,age from (select * from user where age >30 and age <40)

2) mapreduce的任务它是以进程的方式运行在yarn集群中,比如一个job有100个MapTask,这个时候就需要开启100个进程去处理这个100个task。spark的任务它是以线程的方式运行在进程中,比如一个job有100个MapTask,这个时候就可以极端一点:只启动一个进程,在这个进程运行100个线程。这里开启一个进程和开启一个线程代价是不一样,开启一个进程需要的时间和资源比线程要大大增加。spark中可以减少大量的时间资源调度,提升性能。


2、易用性

可以快速开发一个spark应用程序,通过java、scala、python、R、sql不同语言开发代码程序

3、通用性

spark框架是一个生态系统,可以通过不同子项目sparksql、sparkStreaming、Mlib、Graphx应用到不同的应用场景。

4、兼容性

spark任务就是一个计算程序,哪里可以给当前这个程序提供对应的计算资源,我们就可以把程序提交到哪里去。

yarn
spark程序可以提交到yarn中去运行,整个任务的资源分配由resourcemanager去负责standalone

standalone
它是spark自带的集群模式,整个任务的资源分配由Master去负责

mesos
它是一个apache开源类似于yarn的资源管理平台

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...