网站首页 > 技术教程 正文
一、背景
Spark 是 2010 年由 UC Berkeley AMPLab 开源的一款 基于内存的分布式计算框架,2013 年被Apache 基金会接管,是当前大数据领域最为活跃的开源项目之一(http://spark.apache.org/)。
Spark 在 MapReduce 计算框架的基础上,支持计算对象数据可以直接缓存到内存中,大大提高了整体计算效率。特别适合于数据挖掘与机器学习等需要反复迭代计算的场景。
二、特性
高效:Spark提供 Cache 机制,支持需要反复迭代的计算或者多次数据共享,基于Spark 的内存计算比 Hadoop MapReduce 快100倍。
易用:Spark提供 20 多种数据集操作类型,并支持使用 Python 和 Scala 脚本开发应用。
先进架构:Spark采用 Scala 语言编写,基于 DAG 图的执行引擎,减少多次计算之间中间结果写到 HDFS 的开销。
三、应用场景
Spark之上有四种应用工具库。
Spark Streaming: 用于流式计算。
MLlib:用于机器学习(聚类、协同过滤等)。
Spark SQL:用于处理结构化数据。
GraphX:用于图和图并行计算的API。
目前主要应用在广告精准投放系统、日志报表即时查询、以及推荐系统等业务场景。这些应用场景的共同特点是计算量大且效率要求高。
四、部署模式
Spark有三种部署模式。
Standalone:使用Spark自带的集群管理器。
Spark on Mesos:使用 Mesos 管理资源。
Spark on YARN:使用 YARN 管理资源。
五、任务流程
Spark重要组件包括 Driver Program(Driver) 和 Executor。以 Standalone(Driver 运行在 Client)模式为例介绍任务执行流程。
1. 客户端运行用户程序,启动 Driver。
2. Driver将作业转换为DAG图(类似数据处理的流程图),根据策略将DAG图划分为多个Stage,最终生成一系列最小可执行的Task。
3. Driver根据Task的需求,向Master申请运行Task所需的资源。
4. Master为Task调度分配满足需求的Worker节点,在Worker节点启动Exeuctor。
5. Exeuctor启动后向Driver注册。
6. Driver将Task调度到Exeuctor执行。
7. Executor执行结果写入文件或返回Driver。
猜你喜欢
- 2024-11-10 Spark很全的知识点总结(spark很全的知识点总结是什么)
- 2024-11-10 大数据Hadoop之——计算引擎Spark
- 2024-11-10 大佬用10小时就把Spark讲完了,附6大技术文档
- 2024-11-10 SPARK官方教程系列快速入门(spark基础入门)
- 2024-11-10 腾讯大数据专家首次分享这份Spark实战指南(PDF)
- 2024-11-10 30分钟理解Spark的基本原理(spark的工作原理和作用)
- 2024-11-10 深度预警:Spark运行原理(spark的基本运行流程)
- 2024-11-10 Spark整合Ray思路漫谈(spark infrastructure)
- 2024-11-10 简单介绍spark(简单介绍自己)
- 2024-11-10 十年大数据专家,手把手带你玩转大数据,Spark技术栈的深度解析
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)