有时您可能想快速运行一些 pyspark 代码,但您正在处理的集群可能已关闭,或者存在一些环境问题。那该怎么办?我的经理教我这个巧妙的技巧,可以在 Eclipse 中本地使用 pyspark,这样您就不会依赖任何集群问题。

以下是如何在 Eclipse 中本地设置 Pyspark 的步骤:

先决条件:

  • Python v2.6以上

  • JVM v7 或更高版本

第一步:

安装最新版本的 Eclipse。

我正在使用 Eclipse for Java Developers 版本:2022–06 (4.24.0)。

第二步:安装Pydev

转到帮助 > Eclipse 市场。安装 Pydev 模块。

安装需要重启eclipse。

现在您可以转到 Preferences 并查看已安装的 Pydev 模块。

第三步:安装 Spark

从他们的网站安装最新版本的 Spark。

我的版本是 Spark 3.2.1

在一个文件夹中解压 zip 文件的内容,比如 D 盘中的 Softwares。

这将是您的 PYSPARK_PYTHON 变量的路径。

第 4 步:下载适用于 Hadoop 的 WinUtils

为了在本地运行 Apache Spark,需要使用称为“WinUtils”的 Hadoop 代码库元素。这允许管理 HDFS 文件系统需要本地文件系统的 POSIX 文件系统权限。更多细节在这里。

从此处下载与您的 Spark 版本兼容的 WinUtils并将其放入您刚刚创建的 Spark 目录中。

我的路径:D:\Softwares\spark-3.2.1-bin-hadoop2.7\hadoop\bin

这将是您的 HADOOP_HOME 变量。

第五步:设置你的SPARK_LOCAL_IP

要设置变量 SPARK_LOCAL_IP 以指定您的本地 IP 地址而不是 cmd shell 中的“127.0.0.1”,您可以使用以下命令找到您机器的 IP 地址:

ipconfig

我机器的ip是192.168.29.189

这将是您的 SPARK_LOCAL_IP 变量的值。

第六步:设置环境变量

转到 Eclipse > Preferences > Pydev > Interpreters > Python Interpreter > Environment。在这里设置环境变量。我的变量如下所示:

HADOOP_HOME u003d D:\Softwares\spark-3.2.1-bin-hadoop2.7\hadoopPYSPARK_PYTHON u003d C:\Users\pborkotoky\AppData\Local\Programs\Python\Python310\python.exeSPARK_HOME u003d D: \Softwares\spark-3.2.1-bin-hadoop2.7SPARK_LOCAL_IP u003d 192.168.29.189

申请并关闭

第 7 步:添加 py4j zip

现在,我们必须使用 Py4J(Python 和 Java 之间的桥梁)配置 PyDev。这些都包含在 Spark 包中。

转到 Eclipse > Preferences > Pydev > Interpreters > Python Interpreter > Libraries > New Egg/Zip(s)

选择 Py4j 和 Pyspark zip

现在,您在 Eclipse 中的 pyspark 设置已完成。

第八步:执行你的第一个程序

创建一个新的 Pydev 项目并添加一个 pydev 包并编写您的第一个 pyspark 程序。这是您可以使用的示例:

from pyspark.sql import SparkSessionspark u003d SparkSession .builder .appName(“我的第一个 pyspark 项目”) .config(“spark.some.config.option”, “some-value”) .getOrCreate()df u003d spark .sparkContext.parallelize([(1, 2, 3, 'a b c'),(4, 5, 6, 'd e f'),(7, 8, 9, 'g h i')])\ .toDF(['col1', 'col2', 'col3','col4'])df.show()

以“Python run”运行程序。

好了,你刚刚在本地机器上成功运行了你的第一个 pyspark 程序!

参考文献

[

为 Spark 构建自己的 WinUtils - Pivotal BI

在 Windows 构建上设置本地 spark 环境的选项,无论是用于开发 spark 应用程序...

pivotalbi.com

](https://pivotalbi.com/build-your-own-winutils-for-spark/)

[

winutils/winutils.exe at master · steveloughran/winutils

此时您无法执行该操作。您使用另一个选项卡或窗口登录。您在另一个选项卡中退出或...

github.com

](https://github.com/steveloughran/winutils/blob/master/hadoop-2.7.1/bin/winutils.exe)

Logo

华为、百度、京东云现已入驻,来创建你的专属开发者社区吧!

更多推荐