登 录
注 册
< 大 数 据
Flink
Hadoop
Spark
Hive
HBase
Kafka
其他框架
Spark简介
Spark开发环境初始化
Spark运行架构与核心组件
Spark RDD详解
Spark RDD转换算子-单Value类型
Spark RDD转换算子-其他类型
Spark RDD行动算子
Spark Shuffle的设计思想
Spark SQL Hints用法总结
热门推荐>>>
中台架构
中台建设与架构
Hadoop
源码分析-NN启动(三)
HBase
HBased对接Hive
Linux
Nginx高可用
Python
数据导出工具
Flink
3分钟搭建Flink SQL测试环境
Kafka
Kafka对接Flume
深度学习
卷积神经网络
数据结构与算法
选择合适的算法
MySQL
数据备份恢复
计算机系统
信号量同步线程
Hive
Hive调优参数大全
其他框架
Azkaban Flow1.0与2.0
ClickHouse
表引擎-其他类型
技术成长
最好的职业建议
精选书单
技术成长书单—机器学习
技术资讯
数据在线:计算将成为公共服务
开发工具
IntelliJ IDEA 20年发展回顾(二)
系统工具
Mac命令行工具
虚拟化
内存虚拟化概述
云原生
云原生构建现代化应用
云服务
一文搞懂公有云、私有云...
Java
Spring Boot依赖注入与Runners
Go
Go函数与方法
SQL
SQL模板
当前位置:
首页
>>
Spark
>>
Spark简介
Spark简介
2023-09-10 19:18:54 星期日 发表于北京 阅读:577
![](/static/images/article_images/1694344695.121832.png) 行业正在广泛使用 Hadoop 来分析他们的数据集。 原因是 Hadoop 框架基于简单的编程模型 (MapReduce),它支持可扩展、灵活、容错和成本有效的计算解决方案。 主要关注的是在查询之间的等待时间和运行程序的等待时间方面保持处理大型数据集的速度。 Spark 由 Apache Software Foundation 引入,用于加速 Hadoop 计算计算软件进程。 与普遍看法不同,Spark 不是 Hadoop 的修改版本,并且实际上并不依赖 Hadoop,因为它有自己的集群管理。 Hadoop 只是实现 Spark 的方法之一。 Spark 以两种方式使用 Hadoop >一种是存储 第二种是处理 由于 Spark 有自己的集群管理计算,它仅将 Hadoop 用于存储目的 #### 什么是Spark Apache Spark 是一种闪电般快速的集群计算技术,专为快速计算而设计。 它基于 Hadoop MapReduce 并扩展了 MapReduce 模型以有效地将其用于更多类型的计算,包括交互式查询和流处理。 Spark 的主要特点是其内存集群计算,可提高应用程序的处理速度。 Spark 旨在涵盖广泛的工作负载,例如批处理应用程序、迭代算法、交互式查询和流式传输。 除了支持相应系统中的所有这些工作负载外,它还减轻了维护单独工具的管理负担。 #### Spark 的演变 Spark 是 Hadoop 的子项目之一,由 Matei Zaharia 于 2009 年在加州大学伯克利分校的 AMPLab 开发。 它于 2010 年在 BSD 许可下开源。 它于 2013 年捐赠给 Apache 软件基金会,现在 Apache Spark 从 2014 年 2 月开始成为顶级 Apache 项目。 #### Spark 的特点 Apache Spark 具有以下特点。 |序号|特点|解释| |-|-|-| |1|高速度提|Spark 有助于在 Hadoop 集群中运行应用程序,在内存中速度提高 100 倍,在磁盘上运行速度提高 10 倍。 这可以通过减少对磁盘的读/写操作的数量来实现。 它将中间处理数据存储在内存中| |2|支持多种语言| Spark 在 Java、Scala 或 Python 中提供了内置 API。 因此,您可以用不同的语言编写应用程序。 Spark 为交互式查询提供了 80 个高级运算符| |3|高级分析 | Spark 不仅支持"Map"和"reduce"。 它还支持 SQL 查询、流数据、机器学习 (ML) 和图形算法| #### 基于 Hadoop 构建的 Spark 下图显示了使用 Hadoop 组件构建 Spark 的三种方式 ![](/static/images/article_images/1694344899.768341.jpeg) Spark 部署的三种方式如下所述 |序号|部署方式|解释| |-|-|-| |1|Standalone| Spark 独立部署意味着 Spark 占据 HDFS(Hadoop 分布式文件系统)之上的位置,并且明确为 HDFS 分配空间。 在这里,Spark 和 MapReduce 将并行运行以覆盖集群上的所有 Spark 作业| |2|Hadoop Yarn | Hadoop Yarn 部署意味着,简单地说,spark 在 Yarn 上运行,无需任何预安装或 root 访问。 它有助于将 Spark 集成到 Hadoop 生态系统或 Hadoop 堆栈中。 它允许其他组件在堆栈顶部运行| |3|Spark in MapReduce (SIMR) | MapReduce 中的 Spark 除了独立部署外,还用于启动 Spark 作业。 使用 SIMR,用户无需任何管理权限即可启动 Spark 并使用其 shell| #### Spark 的组件 下图描述了 Spark 的不同组件 ![](/static/images/article_images/1694345020.643357.jpeg) |序号|组建名称|解释| |-|-|-| | 1|Apache Spark Core|Spark Core 是 Spark 平台的底层通用执行引擎,所有其他功能都基于它构建。 它在外部存储系统中提供内存计算和引用数据集| |2 |Spark SQL|Spark SQL 是 Spark Core 之上的一个组件,它引入了一种称为 SchemaRDD 的新数据抽象,它为结构化和半结构化数据提供支持| | 3|Spark Streaming|Spark Streaming 利用 Spark Core 的快速调度功能来执行流分析。 它以小批量的形式摄取数据,并对这些小批量数据执行 RDD(弹性分布式数据集)转换| |4|MLlib(机器学习库)|MLlib 是基于分布式内存的 Spark 架构,是 Spark 之上的分布式机器学习框架。 根据基准,它是由 MLlib 开发人员针对交替最小二乘 (ALS) 实现完成的。 Spark MLlib 的速度是基于 Hadoop 磁盘的 Apache Mahout 版本的 9 倍(在 Mahout 获得 Spark 接口之前)| | 5|GraphX|GraphX 是基于 Spark 的分布式图形处理框架。 它提供了一个用于表达图计算的 API,可以使用 Pregel 抽象 API 对用户定义的图进行建模。 它还为此抽象提供了优化的运行时|