spark 使用python语言操作(基于pycharm的安装使用)

本文是关于如何使用pycharm下面执行spark相关操作,spark搭建的是单机模式。

1.安装单机模式的spark

1.1 下载spark

下载地址:https://archive.apache.org/dist/spark/

在这里插入图片描述

我选取的是spark-3.1.2-bin-hadoop3.2.tgz

1.2 上传压缩包

将下载好的spark压缩包通过xftp传输到hadoop102的/opt/module(集群节点)目录下面

在这里插入图片描述

直接拖到过去就行了

1.3 解压缩包

tar -zxvf spark压缩包 -C 解压路径
我使用的是
tar -zxvf spark-3.1.2-bin-hadoop3.2.tgz -C /opt/software/


1.4 修改文件名

mv spark-3.1.2-bin-hadoop3.2/ spark

1.5 将spark添加到环境变量

输入命令:sudo vim /etc/profile.d/my_env.sh

在这里插入图片描述

上面添加环境变量的目录是我个人创建的,大家可根据自己的情况完成spark的添加到环境变量

1.6 刷新一下环境

source /etc/profile.d/my_env.sh

1.6 启动测试

进入到spark里面 cd /opt/software/spark

执行

bin/spark-shell

在这里插入图片描述

出现以上界面,至此spark的单机安装成功!

2.spark的交互式开发

2.1 交互式开发

交互式开发:通过指令进入交互终端,在命令行直接进行开发

2.2 spark的交互式开发

spark有很多方式可以进行交互式开发

在我们的bin目录下面

在这里插入图片描述

其中:

pyspark:支持使用python开发

spark-shell:支持使用scala和java开发

sark-sql:支持sql进行开发

sparR:支持R语言进行开发

注意:在本章中是使用的python语言进行开发

3.使用python对spark进行交互式开发

3.1 执行 pyspark

在这里插入图片描述

报错了,并且说没有python3

因为spark使用python进行交互式开发时,依赖的python版本是python3

3.2 安装python3

python3的安装可以借助anconada工具完成,anconada中自带了python3,同时Anconada还集成了各自python的科学计算库(pandas,numpy等),因此我们选用Anconada安装python3.

3.3 下载Anconada

下载地址:

https://www.anaconda.com/download

3.4 安装Anconada

3.4.1:

将下载好的Anconada通过xftp传输到hadoop102的/opt/software目录下面:

直接拖过来就行

3.4.2:

在Anconada的安装目录下面的software执行**:sh Anaconda3-2023.03-1-Linux-x86_64.sh**

3.4.3:

出现了 >>> 请按 回车

3.4.4:

然后一直回车到有个no >>> 输入yes

3.4.5:

输入yes之后输入**:/opt/software/anconada3**

在这里插入图片描述

此时就会联网按照,下载python3以及一些模块

3.4.5

最后,有个no >>> 输入yes

注意安装完成之后需要重启服务

3.5 再次执行pyspark

bin/pyspark

此时就可以使用python代码执行spark了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h9b85pms-1684251602173)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/uTools_1683814114269.png)]

出现以上模样,至此使用python对spark进行交互式开发以及完成了!

基于python对spark的三种开发方式

4.1 交互式开发

就是直接通过命令行开发。

比如:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BDNnWUQK-1684251602174)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/uTools_1683814330920.png)]

此时data是一个列表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pzb0dowG-1684251602174)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/uTools_1683814388848.png)]

如果我们想要对data进行spark计算,那么就需要将这个list类型的data转化为spark的RDD。

当我们进入交互模式的时候,会生成一个sc,该sc中的方法可以将python中的数据类型转化为RDD。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0A9HIS5T-1684251602175)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/uTools_1683814504858.png)]

此时我们已经转为为了RDD了,那么如果想要数据处理的话,则可以RDD当中提供的各种算子了

当然,这只是简单的了解一下,后面会进行详细的学习解释。

注意:可以使用ctrl + z 退出交互模式

4.2 脚本式开发

脚本式开发其实就是将交互式开发的代码写入文件中,通过运行文件的方式从而允许计算程序。

我们主要了解下面一种开发模式,有兴趣的小伙伴可以自行了解。

4.3 使用pycharm远程开发

4.3.1 导入模块

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

-i 指定安装源为国内的安装源

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aj7r1Tfk-1684251602175)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/uTools_1683815476649.png)]

4.3.2 使用pycharm中的ssh连接服务器

进入到 > tools > SSH Configurations 然后按照下图配置

在这里插入图片描述

点击测试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YlyLHb7G-1684251602176)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/image.png)]

到此 使用pycharm连接ssh就ok了。

注意:我们的pycharm必须是专业版。

4.3.3 使用pycharm执行spark代码

首先pycharm执行的是本地的python环境,我们需要将pycharm的运行环境指定到刚刚我们在虚拟机下载的anconda3里面的python3里面去。

(1)进入到 Python interpreter里面去

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-silmroN1-1684251602177)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/image 1.png)]

(2)点击 右边Add

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xL4AvdIz-1684251602178)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/image 2.png)]

(3)点击 SSH Interpreter > 第二个按钮 > 选择远程连接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NIEt67MC-1684251602178)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/image 3.png)]

(3)python环境和目录连接

Interpreter中配置你的python3路径

Sync folders 中配置本地项目路径 和 远程连接的虚拟机目录建立连接(在opt下面创建目录spark),点击Finish,那么这样我们在本地py文件,就能同步到远程目录下面了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1209hA8d-1684251602179)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/image 4.png)]

4.3.4 pycharm连接xftp

一旦当我们配置好了python3的环境之后,pycharm就会自动创建一个远程的映射目录,

如下图所示进行查看:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fnCKXNUC-1684251602179)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/image 5.png)]

点击,我们就可以操作并且查看远程目录

5.测试

5.1 ssh连接测试

点击terminal,然后如下图所示点击进去

连接成功!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-INzFGZcF-1684251602180)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/image 6.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K8xaaZlW-1684251602180)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/image 7.png)]

5.2 spark运行代码测试

直接在pycharm里面编写代码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ogkxtQq9-1684251602181)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/image 8.png)]

运行成功 结果为 21!

5.3 xftp测试

查看远程目录,如下图右方所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aSKqCvUC-1684251602181)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/uTools_1683912962016.png)]

进入/root/spark.test

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uc7ibmya-1684251602182)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/image 9.png)]

此时已经同步了test1代码了

点击 test1查看代码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zvTrscNW-1684251602182)(安装+9a111f3b-3ba0-4521-b3ab-ad057d3dcd17/image 10.png)]

至此 pycharm关于spark单机模式下的基本配置已经完成!

注意事项:
上述安装的所有都必须在root用户下面所有,用户名和所属组都要为root,因为远程连接的时候是以root用户身份连接的。
  • 7
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Python中连接Spark可以使用PySpark库。PySpark是Apache SparkPython API,它提供了与Spark集群进行交互的功能。以下是连接Spark的一般步骤: 1. 安装Spark和PySpark:首先,你需要在你的机器上安装Spark和PySpark。你可以从Apache Spark官方网站下载并按照指示进行安装。 2. 导入必要的库:在Python脚本中,你需要导入PySpark库以及其他可能需要的库。例如,你可以使用以下代码导入PySpark: ```python from pyspark.sql import SparkSession ``` 3. 创建SparkSession:使用SparkSession可以与Spark集群进行通信。你可以使用以下代码创建一个SparkSession对象: ```python spark = SparkSession.builder \ .appName("YourAppName") \ .master("spark://your-spark-master:7077") \ .getOrCreate() ``` 在上面的代码中,你需要将"YourAppName"替换为你的应用程序名称,并将"your-spark-master"替换为你的Spark主节点的主机名或IP地址。 4. 使用Spark:一旦创建了SparkSession对象,你就可以使用它来执行各种操作,如读取数据、执行转换和操作等。例如,你可以使用以下代码读取一个CSV文件: ```python df = spark.read.csv("path/to/your/file.csv", header=True, inferSchema=True) ``` 在上面的代码中,你需要将"path/to/your/file.csv"替换为你实际的CSV文件路径。 5. 关闭SparkSession:在完成Spark操作后,你应该关闭SparkSession以释放资源。你可以使用以下代码关闭SparkSession: ```python spark.stop() ``` 这是连接Spark的基本步骤。你可以根据具体的需求和场景进行进一步的操作和配置。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嚄825

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值