PySpark 相关基础知识

SparkBase

1. spark的基本介绍

1.1 spark的基本介绍

  • MapReduce: 分布式计算引擎
	MR 分布式计算引擎, 可以用来处理大规模数据, 主要是用于批处理, 用于离线处理

MR存在弊端: 
	1- 执行效率比较低
	2- API相对比较低级, 开发效率慢
	3- 执行迭代计算不方便

也正因为MR存在这样的一些弊端 在一些场景中, 希望能够有一款执行效率更加高效, 能够更好支持迭代计算, 同时还能够处理大规模数据的一款新的软件, 而spark就是在这样的背景下产生了

Apache spark 是一款用于处理大规模数据的分布式计算引擎, 基于内存计算, 整个spark的核心数据结构: RDD

RDD: 弹性的分布式数据集

Spark 最早期是来源于 加州大学伯克莱分析一帮博士发布的论文,而产生的, 后期贡献给了apache 称为apache的顶级项目: http://spark.apache.org

Spark采用Scala语言编写的

为什么Spark的执行速度快:

原因一: spark 提供了一个全新的数据结构: RDD
	通过这个数据结构, 让分布式执行引擎能够在内存中进行计算, 同时能够更好的进行迭代计算操作
	对于MR来说, 主要是基于磁盘来计算, 而且迭代计算的时候, 需要将多个MR程序串联, 执行效率低

原因二: Spark是基于线程运行的, MR是基于进程运行的
	线程的启动和销毁的速度, 要远远高于进程的启动和销毁

1.2 spark的发展史

在这里插入图片描述

在这里插入图片描述

关注:

	spark是一个分布式计算引擎, pyspark是一个python的库  专门用于操作spark的库

1.3 spark的特点

  • 1- 运行速度快
方面一: 基于内存计算的 采用DAG 有向无环图 进行计算操作 中间的结果是保存在内存中

方面二: spark是基于线程来运行的, 线程的启动和销毁要高于进程
  • 2- 易用性
方面一: spark提供多种语言的客户端, 可以基于多种语言来运行spark: 比如 python SQL scala java R ...

方面二: spark提供了更加高阶的API, 而且这些API在不同的语言上, 基本上都是一样的, 大大的降低了程序员学习成本
  • 3- 通用型强
spark提供了多种工具库, 用于满足各种计算的场景

spark core: spark的核心库,  次重点, 它是学习的基础
	主要是用于放置spark的核心API, 内存管理API,包括维护RDD的数据结构

spark SQL: 通过SQL操作spark计算框架  最为重要的

spark streaming:  spark的流式处理, 主要是用于支持流式计算(实时计算) (目前不使用, 整个实时主要是基于flink来完成的) 

spark MLlib: spark的机器学习库, 主要包括相关算法:  回归  聚类 .... (针对于特点人群)

spark graphX: spark的图计算库 比如导航行程规划 (针对于特点人群)

在这里插入图片描述

  • 4- 随处运行:
方面一: 编写的spark程序可以运行在不同的资源调度平台:  local yarn平台  spark集群 , 云上的调度平台

方面二: spark程序可以和大数据生态圈中各种软件进行集成, 让我们更加方便使用spark对接各个软件

2. spark环境安装

2.1 local模式搭建

local 模式主要是用于本地代码测试操作

本质上就是一个单进程程序, 在一个进程中运行多个线程

类似于pandas , 都是一个单进程程序, 无法处理大规模数据, 只需要处理小规模数据

在这里插入图片描述

安装操作, 可以直接参考课件中 部署文档

注意事项:

  • 上传安装包:
<
  • 8
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值