知识体系_分布式内存计算框架_spark

1 spark基础入门

1.1 spark诞生背景

1.1.1 spark是什么

spark是一种基于内存的、快速的、可扩展的处理大规模数据的计算分析框架,spark最早源于2009年加州大学伯克利分校Matei Zaharia等人发表的论文中提到"弹性分布式数据集(RDD)"(RDD是一种分布式内存抽象,支持在内存中进行大规模数据的计算,是spark的核心数据结构);支持结构化、非结构化、半结构化等各种类型的数据结构,也支持使用java、python、scala、R、sql等开发应用程序进行数据计算

1.1.2 spark风雨十年

2009年:诞生于加州大学伯克利分校,项目用scala编写

2010年:spark开源

2013年:spark原创团队成立Databricks公司、spark被捐赠给Apache基金会

2014年:spark成为Apache顶级项目

2016年:spark2.0发布

2019年:spark3.0发布

1.1.3 spark vs hadoop

尽管spark的计算性能高于hadoop,但是spark并不能取代hadoop,原因如下:

(1)spark只有计算功能,而hadoop除了计算,还有存储(HDFS)和调度(Yarn)功能,存储和调度功能是大数据体系很重要的功能

(2)仍然有些计算工具如hive是基于hadoop的mapreduce框架的

总而言之,spark并不能替代hadoop,spark能替代的只是hadoop的计算功能(mapreduce),两者应该结合使用,可以使数据处理更高效

|------|---------------------------------------|------------------------------------------------------------------|
| | hadoop | spark |
| 功能 | 集计算(mapreduce)、存储(HDFS)、调度(Yarn)功能为一体 | 只有计算功能 |
| 场景 | 海量数据批处理(磁盘迭代) | 海量数据批处理(内存迭代、交互式计算(pyspark、spark-shell)、海量数据流处理(spark streaming) |
| 部署价格 | 对机器要求不高,便宜 | 对内存要求高,费用高 |
| 数据存储 | 计算中间过程存储在HDFS磁盘中,延迟高,计算时间长 | 计算中间过程存储在内存中,尽量减少从磁盘的读写和保存操作,延迟低,计算快 |
| 运行方式 | 以进程方式运行,任务启动慢 | 任务以线程方式运行,任务启动快 |

1.1.4 spark四大特点

(1)计算速度快

因为sparkzhichi

(2)简单易用

(3)通用性

(4)适用于任何平台

1.1.5

1.1.6

1.1.7

1.2 spark应用背景

1.3 spark环境搭建

1.3.1 spark环境搭建-本地模式

1.3.2 spark环境搭建-standalone

1.3.3 spark环境搭建-standalone-HA

1.3.4 spark环境搭建-spark on yarn

2 pyspark程序开发

2.1 本机开发环境搭建

2.2 分布式执行代码分析

2 spark应用程序

spark支持python、scala、java、R、sql等语言开发的程序,本文主要重点介绍python和scala应用程序的开发和部署;

2.1 python程序

2.1.1 pyspark交互式编程

2.2 scala程序

2.2.1 spark-shell交互式编程

2.2.2 集成开发工具编程

⚠️建议大家先在Linux上搭建好Hadoop的完全分布式集群环境和Spark分布式集群环境

2.2.2.1 开发环境部署

(1)项目工程构建

(2)工程目录

(3)代码编写

(4)代码编译/运行/打包

https://blog.csdn.net/wanglingli95/article/details/134154006

https://blog.csdn.net/weixin_39198406/article/details/128277964

相关推荐
chase。36 分钟前
【学习笔记】PointWorld:迈向通用机器人操控的3D世界模型
笔记·学习·机器人
星恒随风3 小时前
C++ STL 栈详解:stack 的使用、经典题目与简单模拟实现
开发语言·数据结构·c++·笔记·学习
谢白羽3 小时前
vllm源码剖析14-vLLM 分布式推理-专家并行EP
笔记·分布式·llm·论文·vllm
玖玥拾5 小时前
Unity 3D 笔记(十一)UI 框架进阶:栈弹窗交互、BasePanel 基类虚方法、DoTween 界面动画
笔记·3d·unity
FellAveal5 小时前
【Go语言入门学习笔记】Part13.结构体与接口
笔记·学习·golang
学计算机的计算基5 小时前
回溯算法下篇:四道经典题讲透约束剪枝、原地标记、预计算与状态压缩
java·笔记·算法
雷工笔记5 小时前
Ubuntu迁移记录
笔记·ubuntu
一只小菜鸡..5 小时前
Stanford CS144 学习笔记 (九):大师访谈与互联网的未来
笔记·学习
十月的皮皮5 小时前
STM32从零到量产开发:四路继电器工业控制模块开发实战笔记(小白视角)
c语言·笔记·stm32·stm32cubemx·hal库
疯狂打码的少年5 小时前
【软件工程】软件项目管理(人员/产品/过程/项目)
笔记·软件工程