Spark简介
Spark 简介
2023-09-14 08:59:10 时间
Spark简介
Spark是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。
- HomePage:http://spark.apache.org/
- GitHub:https://github.com/apache/spark
主要特点
- 运行速度快:DAG(Directed Acyclic Graph,有向无环图)执行引擎
- 容易使用:多语言编程支持;提供简洁的API;Spark shell实时交互式编程反馈
- 通用性:技术栈完整,包括SQL查询、流式计算、机器学习和图算法组件
- 运行模式多样:可运行在Hadoop、独立的集群模式、云环境中,并可访问HDFS、Cassandra、HBase、Hive等多种数据源
对比Hadoop
Hadoop的MapReduce计算模型延迟过高,磁盘IO开销大,无法胜任实时快速计算的需求,因而只适用于离线批处理的应用场景。
相比于MapReduce,Spark主要具有如下优点:
- Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,编程模型比MapReduce更灵活;
- Spark提供了内存计算,中间结果直接放到内存中,带来了更高的迭代运算效率,减少了IO开销;
- Spark基于DAG的任务调度执行机制,要优于MapReduce的迭代执行机制。
但Spark并不能完全替代Hadoop,主要用于替代Hadoop中的MapReduce计算模型。
Hadoop可以使用廉价的、异构的机器来做分布式存储与计算,而Spark对内存与CPU有一定的要求。
Spark可以借助于YARN实现资源调度管理,借助于HDFS实现分布式存储。
Spark生态系统
在实际应用中,大数据处理主要包括以下三个类型:
- 复杂的批量数据处理:时间跨度通常在数十分钟到数小时之间;--- Hadoop MapReduce
- 基于历史数据的交互式查询:时间跨度通常在数十秒到数分钟之间;--- Impala、Hive
- 基于实时数据流的数据处理:时间跨度通常在数百毫秒到数秒之间。--- 流计算框架Storm
Spark满足不同应用场景:
- Spark可以部署在资源管理器YARN之上,同时支持批处理、交互式查询和流数据处理。
- Spark生态系统兼容Hadoop生态系统,现有Hadoop应用程序可以容易地迁移到Spark系统中。
Spark生态系统主要组件
-
Spark Core:通常所说的Apache Spark,包含Spark的基本功能;
-
Spark SQL:使用SQL命令进行查询,并进行更复杂的数据分析;
-
Spark Streaming:支持高吞吐量、可容错处理的实时流数据处理;
-
MLlib(机器学习):常用机器学习算法的实现;
-
GraphX(图计算):用于图计算的API;
相关文章
- 【华为云技术分享】快速理解spark-on-k8s中的external-shuffle-service
- 大叔经验分享(39)spark cache unpersist级联操作
- 大数据基础之Spark(9)spark部署方式yarn/mesos
- Spark修炼之道(基础篇)——Linux大数据开发基础:第五节:vi、vim编辑器(一)
- Spark简介
- Hudi(9):Hudi集成Spark之DeltaStreamer导入工具
- Hudi(7):Hudi集成Spark之spark-sql方式
- Hudi(6):Hudi集成Spark之spark-shell 方式
- Spark on k8s: 通过hostPath设置SPARK_LOCAL_DIRS加速Shuffle
- 大数据容器化-基于Kubernetes(k8s)构建spark运行环境
- Spark HistoryServer日志解析&清理异常
- spark standalone提交任务参数配置
- spark安装须知:SPARK_DIST_CLASSPATH配置
- spark 在yarn模式下提交作业
- BigData之Spark:Spark(大数据通用的分布式开源计算引擎)的简介、下载、经典案例之详细攻略
- 我的spark python 决策树实例
- Spark Streaming简介及原理
- Spark 以及 spark streaming 核心原理及实践
- Spark性能调优之广播变量
- 【Spark NLP】第 18 章:人类标签
- 【Apache Spark 】第 4 章Spark SQL 和 DataFrames:内置数据源简介
- 【Apache Spark 】第 1 章Apache Spark 简介:统一分析引擎
- 【Spark ML】第 2 章: Spark和Spark简介
- Spark 配置项