PySpark处理数据

目录

一、安装PySpark:

1. 使用pip

2.  使用PyCharm安装

二、简单步骤:

三、构建PySpark执行环境入口: 

四、代码示例(RDD):


一、安装PySpark:

1. 使用pip

执行Windows + R ,运行cmd命令行提示符:

直接使用清华提供的镜像源安装:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspark

2.  使用PyCharm安装

如图找到PyCharm解释器设置, 点击加号搜索PySpark点击安装即可。

这里依然可以使用镜像源进行安装 (在选项中输入安装地址即可)。

二、简单步骤:

在进行PySpark编程时,首先要构建一个PySpark入口类对象SparkContext。在开始使用PySpark之前,需要初始化Spark环境,创建一个SparkContext对象。SparkContext是Spark的入口点,负责与Spark集群进行通信,并且可以设置应用程序的各种配置。

PySpark提供了两种主要的编程抽象:RDD(弹性分布式数据集)和DataFrame/Dataset。

RDD:是PySpark中最基本的数据抽象,代表一个不可变的、可并行操作的元素集合。DataFrame/Dataset:是Spark 1.3中引入的,建立在RDD之上的一个高级抽象,提供了以列为中心的数据模型,类似于RDBMS中的表或Python的pandas库中的DataFrame。

在创建了RDD或DataFrame之后,就可以对数据进行操作了。Transformations:转换操作是懒惰的,意味着它们不会立即执行,而是在调用action时才会执行。常见的转换操作有map()filter()flatMap()reduceByKey()groupByKey()等。

Actions:动作操作是触发实际计算的操作,它们会返回结果或保存数据到外部存储系统。常见的动作操作有count()collect()saveAsTextFile()reduce()foreach()等。完成这些操作后,不要忘记关闭SparkContext。

三、构建PySpark执行环境入口: 

初始化环境,导入包

from pyspark import SparkContext, SparkConf

# 配置Spark
conf = SparkConf().setAppName("MyApp").setMaster("local[2]")  # appName是应用程序的名称,master是Spark运行的模式
sc = SparkContext(conf=conf)

创建RDDs或DataFrame/Dataset

# 从一个列表创建RDD
data = [1, 2, 3, 4, 5]
rdd = sc.parallelize(data)
from pyspark.sql import SparkSession

# 创建SparkSession
spark = SparkSession.builder.appName("MyApp").getOrCreate()

# 从JSON文件创建DataFrame
df = spark.read.json("path_to_json_file.json")

执行 transformations 和 actions

# RDD的转换操作
rdd_squared = rdd.map(lambda x: x * x)

# DataFrame的转换操作
df_filtered = df.filter(df["age"] > 20)
# RDD的动作操作
squared_values = rdd_squared.collect()

# DataFrame的动作操作
df_filtered.show()

最后关闭SparkContext

sc.stop()

四、代码示例(RDD):

from pyspark import SparkContext, SparkConf

# 配置Spark
conf = SparkConf().setAppName("MyApp").setMaster("local[2]")  # appName是应用程序的名称,master是Spark运行的模式
sc = SparkContext(conf=conf)
# 从一个列表创建RDD
data = [1, 2, 3, 4, 5]
rdd = sc.parallelize(data)
# RDD的转换操作
rdd_squared = rdd.map(lambda x: x * x)

# RDD的动作操作
squared_values = rdd_squared.collect()
sc.stop()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值