当前位置: 首页 > news >正文

Spark计算框架入门笔记

Spark是一个用于大规模数据处理的统一计算引擎
注意:Spark不仅仅可以做类似于MapReduce的离线数据计算,还可以做实时数据计算,并且它还可以实现类似于Hive的SQL计算,等等,所以说它是一个统一的计算引擎
既然说到了Spark,那就不得不提一下Spark里面最重要的一个特性:内存计算
Spark中一个最重要的特性就是基于内存进行计算,从而让它的计算速度可以达到MapReduce的几十倍甚至上百倍
所以说在这大家要知道,Spark是一个基于内存的计算引擎

Spark特点:

1)速度快

        由于Spark是基于内存进行计算的,所以它的计算性能理论上可以比MapReduce快100倍
Spark使用最先进的DAG调度器、查询优化器和物理执行引擎,实现了高性能的批处理和流处理。
注意:批处理其实就是离线计算,流处理就是实时计算。

2)易用

1. 可以使用多种编程语言快速编写应用程序,例如Java、Scala、Python、R和SQL
2. Spark提供了80多个高阶函数,可以轻松构建Spark任务。

3)通用性 

 

        Spark提供了Core、SQL、Streaming、MLlib、GraphX等技术组件,可以一站式地完成大数据领域的离线批处理、SQL交互式查询、流式实时计算,机器学习、图计算等常见的任务
从这可以看出来Spark也是一个具备完整生态圈的技术框架,它不是一个人在战斗。

4)到处运行

你可以在Hadoop YARN、Mesos或Kubernetes上使用Spark集群。
并且可以访问HDFS、Alluxio、Apache Cassandra、Apache HBase、Apache Hive和数百个其它数据源中的数据

Spark 和Hadoop的区别

1. 综合能力
Spark是一个综合性质的计算引擎
Hadoop既包含MapReduce(计算引擎),还包含HDFS(分布式存储)和Yarn(资源管理)
所以说他们两个的定位是不一样的。
从综合能力上来说,hadoop是完胜spark的
2. 计算模型
Spark 任务可以包含多个计算操作,轻松实现复杂迭代计算
而Hadoop中的MapReduce任务只包含Map和Reduce阶段,不够灵活
从计算模型上来说,spark是完胜hadoop的

3)处理速度

Spark 任务的数据是基于内存的,计算速度很快
而Hadoop中MapReduce 任务是基于磁盘的,速度较慢
从处理速度上来说,spark也是完胜hadoop的

4)spark和Hadoop结合使用

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

        其实这里面这么多模块,针对大数据开发岗位主要需要掌握的是Spark core、streaming、sql这几个模块,其中Mlib主要是搞算法的岗位使用的,GraphX这个要看是否有图计算相关的需求,所以这两个不是必须要掌握的

不过由于现在我们主要是学习离线批处理相关的内容,所以会先学习Spark core和Spark SQL
,而Spark streaming等到后面我们讲到实时计算的时候再去学习。
Spark的应用场景Spark主要应用在以下这些应用场景中
1. 低延时的海量数据计算需求,这个说的就是针对Spark core的应用
2. 低延时SQL交互查询需求,这个说的就是针对Spark SQL的应用
3. 准实时(秒级)海量数据计算需求,这个说的就是Spark Streaming的应用

http://www.lryc.cn/news/22537.html

相关文章:

  • 入职数据分析公认的好书|建议收藏
  • Linux查找文件和目录,重定向输出 ,系统默认运行级别的查看和设置理论和练习
  • Redis源码---键值对中字符串的实现,用char*还是结构体
  • 算法 - 剑指Offer 表示数值的字符串
  • 初识机器学习
  • VsCode安装PlatformIO 开发ESP arduino,买的板子或者随便ESP,PlatformIO添加Board(不是自定义Board)
  • golang 复杂数据结构解析
  • 不怕被AirTag跟踪?苹果Find My技术越来越普及
  • Linux驱动中的open函数是如何从软件打通硬件呢?
  • Java 基础语法
  • python下如何安装并使用matplotlib(画图模块)
  • 系统分析师---计算机网络思维导图
  • 算法练习(七)数据分类处理
  • nohup ./startWebLogic.sh >out.log 2>1 解析
  • OpenCV 坡度计算(基于DEM,C++版本)
  • IDEA上使用git,知道这几步操作就够了!
  • Shell的退出状态(if语句判断的是某个命令的退出状态)
  • Scala面向对象
  • LLaMA-META发布单卡就能跑的大模型
  • 第一篇自我介绍(单片机)
  • Tik Tok品牌营销,如何做好内容打法
  • 2023年5月软考软件设计师备考经验
  • SpringBoot 2.x ——使用 mail 实现邮件发送
  • 项目结束先别着急庆祝,项目经理还有这些事要做
  • 没想到的 IIFE
  • 「牛客网C」初学者入门训练BC156
  • 【Proteus仿真】【STM32单片机】粮仓温湿度控制系统设计
  • 九年时间,倾情投入,JumpServer开源堡垒机v3.0正式发布
  • 【ROS学习笔记5】服务通信
  • “华为杯”研究生数学建模竞赛2006年-【华为杯】A题:Ad Hoc 网络中的区域划分和资源分配问题(附获奖论文)