PySpark简介及详细安装教程

Spark在前面已经和大家说过很多了,Python这几天也整理出了很多自己的见解,今天就和大家说下一个新的东西,PySpark,一看名字就知道和前面二者都有很大关系,那么PySpark到底是什么,和之前所说的Spark与Python有什么不一样的呢?今天就和大家简单的聊聊。回忆下Spark的简介:Spark是一种通用的大数据计算框架,是基于RDD(弹性分布式数据集)的一种计算模型。那到底是什么呢?可能很多人还不是太理解,通俗讲就是可以分布式处理大量集数据的,将大量集数据先拆分,分别进行计算,然后再将计算
摘要由CSDN通过智能技术生成

Spark在前面已经和大家说过很多了,Python这几天也整理出了很多自己的见解,今天就和大家说下一个新的东西,PySpark,一看名字就知道和前面二者都有很大关系,那么PySpark到底是什么,和之前所说的Spark与Python有什么不一样的呢?今天就和大家简单的聊聊。

回忆下Spark的简介
Spark是一种通用的大数据计算框架,是基于RDD(弹性分布式数据集)的一种计算模型。那到底是什么呢?可能很多人还不是太理解,通俗讲就是可以分布式处理大量集数据的,将大量集数据先拆分,分别进行计算,然后再将计算后的结果进行合并。

PySpark简介

Spark是用 Scala编程语言 编写的。为了用Spark支持Python,Apache Spark社区发布了一个工具PySpark。使用PySpark,也可以使用Python编程语言中的 RDD 。正是由于一个名为 Py4j的库,他们才能实现这一目标。

简单来说
在python driver端,SparkContext利用Py4J启动一个JVM并产生一个JavaSparkContext。Py4J只使用在driver端,用于本地python与Java SparkContext objects的通信。大量数据的传输使用的是另一个机制。

RDD在python下的转换会被映射成java环境下PythonRDD。在远端worker机器上,PythonRDD对象启动一些子进程并通过pipes与这些子进程通信,以此send用户代码和数据。

PySpark 是 Spark 为 Python 开发者提供的 API,其依赖于 Py4J。

PySpark 使用的类

pyspark.SparkContext

pyspark.SparkContext 类提供了应用与 Spark 交互的主入口点,表示应用与 Spark 集群的连接,基于这个连接,应用可以在该集群上创建 RDD 和 广播变量 (pyspark.Broadcast)

pyspark.RDD

这个类是为 PySpark 操作 RDD提供了基础方法。
first() 是 pyspark.RDD 类提供的方法,返回 RDD 的第一个元素。

aggregate() 方法使用给定的组合函数和中性“零值,先聚合每个分区的元素,然后再聚合所有分区的结果。
cache() 使用默认存储级别(MEMORY_ONLY)对此 RDD 进行持久化。

collect() 返回一个列表,包含此 RDD 中所有元素。

pyspark.Accumulator

一种“只允许添加”的共享变量,Spark 任务只能向其添加值。

pyspark.Broadcast

Spark 提供了两种共享变量:广播变量 和 累加器,pyspark.Broadcast 类提供了对广播变量的操作方法。

pyspark.Accumulator

pyspark.Accumulator 提供了对累加器变量的操作方法。
累加器是仅仅被相关操作累加的变量,因此可以在并行中被有效地支持。

  • 10
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值