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

大数据学习-Spark基础入门

一、Spark是什么?

 

      Stack Overflow的数据可以看出,2015年开始Spark每月的问题提交数量已经超越Hadoop,而2018年Spark Python版本的API PySpark每月的问题提交数量也已超过Hadoop。2019年排名Spark第一,PySpark第二;而十年的累计排名是Spark第一,PySpark第 三。按照这个趋势发展下去,Spark和PySpark在未来很长一段时间内应该还会处于垄断地位。

二、Spark VS Hadoop 有何区别呢?

    尽管Spark相对于Hadoop而言具有较大优势,但Spark并不能完全替代Hadoop

  1. 在计算层面,Spark相比较MR(MapReduce)有巨大的性能优势,但至今仍有许多计算工具基于MR构架,比如非常成熟的Hive;
  2. Spark仅做计算,而Hadoop生态圈不仅有计算(MR)也有存储(HDFS)和资源管理调度(YARN),HDFS和YARN仍是许多大数据 体系的核心架构。 

扩展题:Hadoop的基于进程的计算和Spark基于线程方式优缺点?

答案:Hadoop中的MR中每个map/reduce task都是一个java进程方式运行,好处在于进程之间是互相独立的,每个task独享进程资源,没有互相干扰,监控方便,但是问题在于task之间不方便共享数据,执行效率比较低。比如多个map task读取不同数据源文件需要将数据源加载到每个map task中,造成重复加载和浪费内存。而基于线程的方式计算是为了数据共享和提高执行效率,Spark采用了线程的最小的执行单位,但缺点是线程之间会有资源竞争。

三、Spark四大特点

3.1 速度快

3.2 易于使用

3.3 通用性强

3.4 运行方式

四、Spark 框架模块 

整个Spark 框架模块包含:Spark Core、 Spark SQL、 Spark Streaming、 Spark GraphX、 Spark MLlib,而后四项的能力都是建立在核心引擎之上

Spark Core:Spark的核心,Spark核心功能均由Spark Core模块提供,是Spark运行的基础。Spark Core以RDD为数据抽象,提供Python、Java、 Scala、R语言的API,可以编程进行海量离线数据批处理计算。

SparkSQL:基于SparkCore之上,提供结构化数据的处理模块。SparkSQL支持以SQL语言对数据进行处理,SparkSQL本身针对离线计算场景。同 时基于SparkSQL,Spark提供了StructuredStreaming模块,可以以SparkSQL为基础,进行数据的流式计算。

SparkStreaming:以SparkCore为基础,提供数据的流式计算功能。 MLlib:以SparkCore为基础,进行机器学习计算,内置了大量的机器学习库和API算法等。方便用户以分布式计算的模式进行机器学习计算。

GraphX:以SparkCore为基础,进行图计算,提供了大量的图计算API,方便用于以分布式计算模式进行图计算。

五、Spark的运行模式

六、Spark的架构角色

 

 

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

相关文章:

  • C语言:链表插入
  • xss 一些例子
  • 基于Docker compose部署Confluence 8.3.4及设置数据持久化存储的总结
  • eNSP 华为交换机生成树协议
  • flutter事件与消息通知
  • Oracle PL/SQL存储过程和函数简单示例
  • 同态加密和SEAL库的介绍(十)CKKS 参数心得 2
  • Debug-021-el-table实现分页多选的效果(切换分页,仍可以保持前一页的选中效果)
  • FPGA开发——DS18B20读取温度并且在数码管上显示
  • 电流测量分流电阻
  • MES系统:智能化排班排产的全面解决方案
  • 50道深度NLP和人工智能领域面试题+答案
  • 最小矩阵宽度(85%用例)C卷(JavaPythonC++Node.jsC语言)
  • STM32数据按字符截取与转换
  • 使用kubeadm快速部署一套K8S集群
  • 【Kotlin】在Kotlin项目中使用AspectJ
  • web实现drag拖拽布局
  • Linux网络编程—listen、accept、connect
  • logback.xml自定义标签节点
  • 探索DevExpress WinForms:.NET世界中的UI库之星
  • 零基础学习Redis(4) -- 常用数据结构介绍
  • Python实现水果忍者(开源)
  • Windows自动化3️⃣WindowsPC拽起时长问题解决方案
  • 一篇文章入门Java虚拟机(JVM)
  • vue3里面的组件实例类型(包括原生的html标签类型)
  • 谷歌正式开放Imagen 3访问权限!OpenAI的GPT-4o连续两周迎来两次更新!|AI日报
  • C语言内存操作函数
  • 深入探索 PyTorch:torch.nn.Parameter 与 torch.Tensor 的奥秘
  • 成为Python砖家(1): 在本地查询Python HTML文档
  • 深度学习基础—RMSprop算法与Adam 优化算法