Spark初识
Spark初识
spark是一个快速的统一的引擎,基于内存的运算
spark有一个高级的DAG(有向无环图)引擎,支持循环的数据流和基于内存的计算
spark支持的开发语言Java\Scala\Python\R
spark提供了80多种算子操作
在一个应用中可以无缝整合spark组件
spark可运行在任何环境yarn、Mesos、standalone(调度的资源框架不同)
可以访问各种各样的数据资源HDFS \Hive\Cassandra\HBase\S3(亚马逊)
资源调度
Yarn:粗力度的资源调度框架(给足够的资源),底层是java
Mesos:可粗可细(合理分配资源)底层是C++
存储
HDFS基于磁盘
Tachyan基于内存
计算
Spark core
Hadoop慢的原因
大量的IO、额外的复制、序列化
大量的IO:
每个Job都要将数据从HDFS中读出,处理完后,再将数据写入HDFS中。
额外的复制
每个HDFS文件有三个副本,第一个副本存储在当前机器,第二个副本存储在不同机架上的机器,第三个副本和第二个同机架
Spark快的原因(基于内存、高效的DAG)
迭代计算,第一次计算读数据从HDFS读,计算之后结果存在内存,如果内存不够,经过配置,可落地到磁盘,保证数据不丢失。第二次计算时数据直接从内存读取。
也有副本机制,存在不同机器的内存中。
Spark的运行模式
Local 多用于测试
Standalone Spark自带的,独立的环境,可抛开Hadoop生态体系,有自己的资源管理(cluster resource manager)
Mesos 用的不多
Yarn 用的最多
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示