码农知识堂 - 1000bd
Python
PHP
JS/TS
JAVA
C/C++
C#
GO
Kotlin
Swift
Spark框架
Spark
计算速度
Hadoop的多个job之间的数据通信是基于磁盘的
Hadoop偏存储,其MR框架,是基于磁盘的计算,多个MR作业之间的数据交互,依赖于磁盘的IO,这会影响计算性能。
job1:读取磁盘文件,MR计算,结果存储到磁盘
job2:读取磁盘的job1结果,迭代计算,结果继续存储到磁盘
Spark的多个job之间的数据通信是基于内存的
Spark是基于内存的计算,中间过程直接缓存在内存中,计算完成后,才会把最终结果存储到磁盘。所以Spark的计算速度比Hadoop快很多,但对资源的要求也比较高。
job1:读取磁盘文件,Spark计算,结果缓存到内存
job2:直接对job1的结果进行迭代计算,计算完成后,结果存储到磁盘
Spark核心模块
Spark SQL
:操作结构化数据的组件,通过Spark SQL,用户可以用sql、hql查询数据
Spark Streaming
:操作实时数据的流式计算组件,提供了处理数据流的各种API
Spark MLlib
:机器学习算法库
Spark Graphx
:图计算的算法库
Spark核心组件
Master
:负责资源调度分配、集群监控的进程
Worker
:运行任务的进程,一个Worker会运行在集群中的一个服务器上,由Master为其分配资源,来运行task
ApplicationMaster
:Driver通过ApplicationMaster向Master申请程序执行的资源容器,便于将各个程序的运行、监控、错误处理等独立管控
Driver
:驱动组件,使整个程序运行起来
Executer
:执行组件,是集群工作节点worker中的一个JMV进程,
负责执行任务task
(任务之间相互独立),然后将任务结果反馈给Driver。若一个Executer崩溃了,其中出错的任务节点会调度到另一个Executer上继续运行。
Executer还会给程序中要求缓存的RDD提供内存式存储
(RDD直接缓存在进程内,所以任务在运行时可以充分利用缓存数据加速运算)
Excuter的配置参数:
每个Excuter的虚拟CPU core:指的是并发度,即一个核分为n个虚拟核进行资源分配使用
并行度:一个程序在集群上的同时执行的任务数量,即Excuter的数量
相关阅读:
为什么序列化要实现Serializable接口
牛客刷题<25>输入序列连续的序列检测
【MySQL系列】- SELECT语句执行顺序
【Nacos】Nacos服务注册源码分析(二)
ArcGIS中ArcMap为不含坐标系的图层添加地理坐标系或投影坐标系
python提取网页指定内容
arthas-getstatics
【数据结构与算法】- 图(算法)
uniapp iOS离线打包——如何创建App并提交版本审核?
史上最全Java面试题,Java面试必备
原文地址:https://blog.csdn.net/weixin_45052608/article/details/128099849
最新文章
攻防演习之三天拿下官网站群
数据安全治理学习——前期安全规划和安全管理体系建设
企业安全 | 企业内一次钓鱼演练准备过程
内网渗透测试 | Kerberos协议及其部分攻击手法
0day的产生 | 不懂代码的"代码审计"
安装scrcpy-client模块av模块异常,环境问题解决方案
leetcode hot100【LeetCode 279. 完全平方数】java实现
OpenWrt下安装Mosquitto
AnatoMask论文汇总
【AI日记】24.11.01 LangChain、openai api和github copilot
热门文章
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
奉劝各位学弟学妹们,该打造你的技术影响力了!
五年了,我在 CSDN 的两个一百万。
Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
面试官都震惊,你这网络基础可以啊!
你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
心情不好的时候,用 Python 画棵樱花树送给自己吧
通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
13 万字 C 语言从入门到精通保姆级教程2021 年版
10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系
2656653265@qq.com
京ICP备2022015340号-1
正则表达式工具
cron表达式工具
密码生成工具
京公网安备 11010502049817号