大数据技术spark基础

这篇具有很好参考价值的文章主要介绍了大数据技术spark基础。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、spark概述

1.1什么是spark?

1.2 spark的特点

1.3 spark生态圈组件

1.4 spark的核心原理

二、Spark和MapReduce的区别

三、3.MapReduce核心环节-Shuffle过程

四、了解spark架构


一、spark概述

1.1什么是spark?

Spark 是当今大数据领域最活跃、最热门、最高效的大数据通用计算平台之一。

大数据技术spark基础,大数据,spark,分布式

1.2 spark的特点

1.快速

   与Hadoop的MapReduce相比,Spark基于内存的运算要快100倍以上,基于硬盘的运算也要快10倍以上。

2. 易用

Spark支持Java、Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用。

3. 通用

    Spark提供了统一的解决方案。Spark可以用于,交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX)。这些不同类型的处理都可以在同一个应用中无缝使用。

4. 随处运行

    用户可以使用Spark的独立集群模式运行Spark,也可以在亚马逊弹性计算云(Amazon Elastic Compute Cloud, Amazon EC2)、Hadoop YARN资源管理器或 Apache Mesos上运行Spark。

5.代码简洁

    Spark支持使用Scala、Python等语言编写代码。Scala 和Python 的代码相对Java的代码而言比较简洁,因此,在Spark中一般都使用Scala 或Python 编写应用程序,这也比在MapReduce 中编写应用程序简单方便。

1.3 spark生态圈组件

(1)Spark Core:Spark的核心,提供底层框架及核心支持。

(2)BlinkDB:一不用于在海量数据上进行交互式SQL查询的大规模并行查询引擎允许用户通过权衡数据精度缩短查询响应时间,数据的精度将被控制在允许的误差范围内。

(3)Spark SOL:可以执行SQL查询,支持基本的SOL语法和HiveQL语法,可读取的数据源包括Hive、HDFS、关系数据库(如MySQL)等。

(4)SparkStreaming:可以进行实时数据流式计算。

(5)MLBase:MLBase 是Spark生态圈的一部分,专注于机器学习领域,学习门槛较低。

(6)GraphX:图计算的应用在很多情况下处理的数据量都是很庞大的。

(7)SparkR:SparkR是 AMPLab发布的一个R语言开发包,使得R语言编写的程序不只可以在单机运行,也可以作为Spark的作业运行在集群上,极大地提升了R语言的数据处理能力。

1.4 spark的核心原理

    为了更加深入了解spark的核心原理,需要先了解两个重要的概念,即窄依赖(Narrow Dependency)和宽依赖(Wide Dependency)

    窄依赖指的是子RDD的一个分区只依赖于某个父RDD中的一个分区

    宽依赖指的是子RDD的每一个分区都依赖于某个父RDD中一个以上的分区

二、Spark和MapReduce的区别

1. spark处理数据是基于内存的,而MapReduce是基于磁盘处理数据的。

2. Spark 的内存计算特性 和 基于DAG有向无环图 的执行模型,通常比 MapReduce 更快。

3.Spark提供了丰富的API,包括 scala、Java、Python等。开发起来更加灵活、表达能力更强。而 MapReduce 使用 Java 编程语言来编写 Map 和 Reduce 函数,需要手动编写更多的代码来实现处理逻辑。

4. Spark 有更好的扩展性,可以方便的与其他数据处理框架和工具集成。

5. Spark提供了弹性式分布数据集RDD,具有自动容错和数据恢复机制。

三、3.MapReduce核心环节-Shuffle过程

所谓Shuffle,是指对Map输出结果进行分区、排序、合并等处理并交给Reduce的过程。因此,Shuffle过程分为Map端的操作和Reduce端的操作,主要执行以下操作。

大数据技术spark基础,大数据,spark,分布式

四、了解spark架构

(1)客户端:用户提交作业的客户端。

(2)Driver:负责运行应用程序(Application)的 main 函数并创建 SparkContext,

应用程序包含Driver 功能的代码和分布在集群中多个节点上的Executor代码。

(3)SparkContext:应用上下文,控制整个生命周期。

(4)Cluster Manager:资源管理器,即在集群上获取资源的外部服务,目前主要有Standalone 和 YARN。

1. Standalone 是Spark原生的资源管理器,由Master进程负责资源的分配也可以理解为使用 Standalone 时Cluster Manager 是Master进程所在节点。

2. YARN是Hadoop 集群的资源管理器,若使用YARN作为Spark程序运行的资源管理器,则由ResourceManager 负责资源的分配。

(5)Spark Worker:集群中任何可以运行应用程序的节点,运行一个或多个 Executor 进程。

(6)Executor:运行在Spark Worker 上的任务(Task)执行器,Executor启动线程池运行Task,并负责将数据存在内存或磁盘上,每个应用程序都会申请各自的Executor以处理任务。

(7)Task:被发送到某个Executor的具体任务。文章来源地址https://www.toymoban.com/news/detail-842284.html

到了这里,关于大数据技术spark基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据课程K2——Spark的RDD弹性分布式数据集

    文章作者邮箱:yugongshiye@sina.cn              地址:广东惠州 ⚪ 了解Spark的RDD结构; ⚪ 掌握Spark的RDD操作方法; ⚪ 掌握Spark的RDD常用变换方法、常用执行方法; 初学Spark时,把RDD看做是一个集合类型(类似于Array或List),用于存储数据和操作数据,但RDD和普通集合的区别

    2024年02月12日
    浏览(36)
  • 【技术驿站】分布式基础与常见面试问题

    💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老 导航 檀越剑指大厂系列:全面总

    2024年02月04日
    浏览(39)
  • Spark大数据分析与实战笔记(第三章 Spark RDD 弹性分布式数据集-02)

    人生很长,不必慌张。你未长大,我要担当。 传统的MapReduce虽然具有自动容错、平衡负载和可拓展性的优点,但是其最大缺点是采用非循环式的数据流模型,使得在迭代计算式要进行大量的磁盘IO操作。Spark中的RDD可以很好的解决这一缺点。 RDD是Spark提供的最重要的抽象概念

    2024年02月22日
    浏览(48)
  • 大数据开源框架环境搭建(七)——Spark完全分布式集群的安装部署

    前言:七八九用于Spark的编程实验 大数据开源框架之基于Spark的气象数据处理与分析_木子一个Lee的博客-CSDN博客_spark舆情分析 目录 实验环境: 实验步骤: 一、解压 二、配置环境变量:  三、修改配置文件  1.修改spark-env.sh配置文件: 2.修改配置文件slaves: 3.分发配置文件:

    2024年02月11日
    浏览(35)
  • 云计算与大数据第16章 分布式内存计算平台Spark习题

    1、Spark是Hadoop生态(  B  )组件的替代方案。 A. Hadoop     B. MapReduce        C. Yarn             D.HDFS 2、以下(  D  )不是Spark的主要组件。 A. Driver      B. SparkContext       C. ClusterManager D. ResourceManager 3、Spark中的Executor是(  A  )。 A.执行器      B.主节

    2024年02月14日
    浏览(48)
  • 分布式计算中的大数据处理:Hadoop与Spark的性能优化

    大数据处理是现代计算机科学的一个重要领域,它涉及到处理海量数据的技术和方法。随着互联网的发展,数据的规模不断增长,传统的计算方法已经无法满足需求。因此,分布式计算技术逐渐成为了主流。 Hadoop和Spark是目前最为流行的分布式计算框架之一,它们都提供了高

    2024年01月23日
    浏览(38)
  • 数据存储和分布式计算的实际应用:如何使用Spark和Flink进行数据处理和分析

    作为一名人工智能专家,程序员和软件架构师,我经常涉及到数据处理和分析。在当前大数据和云计算的时代,分布式计算已经成为了一个重要的技术方向。Spark和Flink是当前比较流行的分布式计算框架,它们提供了强大的分布式计算和数据分析功能,为数据处理和分析提供了

    2024年02月16日
    浏览(44)
  • 云事业群CTO线技术晋升考核机试题-分布式专题-D 分布式数据同步

      作者:田超凡 1 缓存一致性产生背景 答:当需要频繁访问数据库的时候,虽然数据库底层基于B+索引检索数据,但是仍然会十分消耗磁盘IO资源,导致数据库访问压力增加。 此时可以基于缓存设计来减轻数据库访问压力。 2 多级缓存架构设计方案 答:多级缓存架构设计采用

    2024年02月16日
    浏览(32)
  • 分布式计算框架:Spark、Dask、Ray 分布式计算哪家强:Spark、Dask、Ray

    目录 什么是分布式计算 分布式计算哪家强:Spark、Dask、Ray 2 选择正确的框架 2.1 Spark 2.2 Dask 2.3 Ray 分布式计算是一种计算方法,和集中式计算是相对的。 随着计算技术的发展, 有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成

    2024年02月11日
    浏览(44)
  • Spark单机伪分布式环境搭建、完全分布式环境搭建、Spark-on-yarn模式搭建

    搭建Spark需要先配置好scala环境。三种Spark环境搭建互不关联,都是从零开始搭建。 如果将文章中的配置文件修改内容复制粘贴的话,所有配置文件添加的内容后面的注释记得删除,可能会报错。保险一点删除最好。 上传安装包解压并重命名 rz上传 如果没有安装rz可以使用命

    2024年02月06日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包