什么是spark?通俗易懂,一文读懂

简介: 什么是spark?通俗易懂,一文读懂

Spark是什么

官方定义: 定义:*Apache Spark是用于**大规模数据(large-scala data)**处理的**统一(unified)**分析引擎。*

分析引擎(计算引擎): 我们目前接触的引擎有:

    • MapReduce 分布式计算引擎
    • Spark 分布式内存计算引擎

    计算引擎: 通用的 可以执行开发人员提供的业务代码的一种框架.

    image.gif编辑

    Spark框架中有一个核心的数据结构: RDD

    Pandas中的数据结构是DataFrame, 多数API都是针对DF对象来进行的.

    同样, Spark的数据结构是RDD对象, 多数API都是针对RDD对象来进行的

    RDD对象是一个真正的分布式对象, Pandas的DataFrame则是一个单机的对象.

    拓展阅读 Hadoop 和 Spark 对比

    Hadoop Spark
    类型 基础平台, 包含计算, 存储, 调度 分布式计算工具
    场景 大规模数据集上的批处理 迭代计算, 交互式计算, 流计算
    价格 对机器要求低, 便宜 对内存有要求, 相对较贵
    编程范式 Map+Reduce, API 较为底层, 算法适应性差 RDD组成DAG有向无环图, API 较为顶层, 方便使用
    数据存储结构 MapReduce中间计算结果在HDFS磁盘上, 延迟大 RDD中间运算结果在内存中 , 延迟小
    运行方式 Task以进程方式维护, 任务启动慢 Task以线程方式维护, 任务启动快

    Spark四大特点

      • 速度贼快: 比MapReduce 快100倍以上( 基于内存计算 )
      • 易于使用: API 写起来很简单, 和pandas差不多(比pandas还简单)
      • 通用性强: 可用于离线批处理\ SQL处理\ 流计算 \ 机器学习计算\ 图计算
        • 离线批处理(Core)     SQL处理(SparkSQL)
          • 运行方式很多: 可以运行在 YARN \ 可以独立运行(StandAlone) \ 可以运行在云平台上 \ 可以运行在容器集群上 \ 等等等.

          Spark框架模块 - 了解



            • image.gif编辑
            • SparkCore : Spark的核心模块, 一切Spark的功能最底层由它提供
            • SparkSQL: Spark的结构化数据处理模块, 基于Core
            • SparkStreaming: Spark的流计算模块 基于Core
            • Spark MLib: 机器学习模块. 基于Core
            • Spark GraphX: 图计算模块 基于Core
            • StructuredStreaming: 结构化, 基于SparkSQL模块
            目录
            相关文章
            |
            存储 SQL 缓存
            Hadoop入门(一篇就够了)
            Hadoop入门(一篇就够了)
            29710 4
            Hadoop入门(一篇就够了)
            |
            算法 Go 计算机视觉
            【YOLO系列】YOLOv8算法(尖端SOTA模型)
            Ultralytics YOLOv8 是由 Ultralytics开发的一个前沿 SOTA 模型。它在以前 YOLO 版本的成功基础上,引入了新的功能和改进,进一步提升了性能和灵活性。YOLOv8 基于快速、准确和易于使用的理念设计,使其成为广泛的物体检测、图像分割和图像分类任务的绝佳选择。
            3462 0
            【YOLO系列】YOLOv8算法(尖端SOTA模型)
            |
            11月前
            |
            Java 数据管理 Linux
            StarRocks元数据无法合并
            StarRocks版本在3.1.4及以下,并且使用了metadata_journal_skip_bad_journal_ids来跳过某个异常的journal,会导致FE元数据无法合并。
            StarRocks元数据无法合并
            |
            8月前
            |
            人工智能 搜索推荐 数据可视化
            Manus:或将成为AI Agent领域的标杆
            随着人工智能技术的飞速发展,AI Agent(智能体)作为人工智能领域的重要分支,正逐渐从概念走向现实,并在各行各业展现出巨大的应用潜力。在众多AI Agent产品中,Manus以其独特的技术优势和市场表现,有望成为该领域的标杆。作为资深AI工程师,本文将深入探讨Manus的背景知识、主要业务场景、底层原理、功能的优缺点,并尝试使用Java搭建一个属于自己的Manus助手,以期为AI Agent技术的发展和应用提供参考。
            12890 19
            |
            Java 关系型数据库 MySQL
            Maven——创建 Spring Boot项目
            Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
            972 1
            Maven——创建 Spring Boot项目
            |
            编译器 开发工具 C语言
            vscode安装+配置+使用+调试【保姆级教程】
            vscode安装+配置+使用+调试【保姆级教程】
            58547 9
            |
            人工智能 运维 Prometheus
            《2023云原生实战案例集》——01 汽车/制造——小鹏汽车 基于云原生实现研发提效,加速探索未来出行
            《2023云原生实战案例集》——01 汽车/制造——小鹏汽车 基于云原生实现研发提效,加速探索未来出行
            win10显示此设备不支持接收miracast的解决办法【【百度的方法均不好使,自己发现的,亲测有效!!!!】】
            win10显示此设备不支持接收miracast的解决办法【【百度的方法均不好使,自己发现的,亲测有效!!!!】】
            win10显示此设备不支持接收miracast的解决办法【【百度的方法均不好使,自己发现的,亲测有效!!!!】】
            |
            应用服务中间件 双11 微服务
            双11同款!阿里云发布全局事务服务GTS:每秒处理10万笔事务
            5月30日,阿里云宣布全局事务服务产品GTS正式商用,每秒可处理10万笔事务,将分布式事务这个“贵族技术”变为“平民技术 ”,可解决跨数据库、消息、服务的分布式环境下的事务一致性问题,让开发者无需考虑复杂的事务问题,加速微服务落地,效率比传统的XA协议提升了10倍之多。
            7866 80
            |
            存储 自然语言处理 Java
            阿里云对象储存服务OSS快速入门使用
            OSS的快速简单入门使用教程
            992 0
            阿里云对象储存服务OSS快速入门使用