数据STUDIO

在 Windows 上安装 PySpark 保姆级教程


在本文中,云朵君将和大家一起学习如何在 Windows 上安装和运行 PySpark,以及如何使用 Web UI 启动历史服务器和监控 Jobs。

安装 Python 或 Anaconda 发行版

https://www.python.org/downloads/windows/

从 Python.org 或 Anaconda 发行版 下载并安装 Python, 其中包括 Python、Spyder IDE 和 Jupyter notebook。我建议使用 Anaconda,因为它很受机器学习和数据科学社区的欢迎和使用。

https://www.anaconda.com/

推荐使用 Anaconda 安装 PySpark 并运行 Jupyter notebook。

安装 Java 8

要运行 PySpark 应用程序,需要 Java 8 或更高版本,因此从 Oracle 下载 Java 版本并将其安装在系统上。
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

安装后设置 JAVA_HOME 和 PATH 变量。

JAVA_HOME = C:\Program Files\Java\jdk1.8.0_201
PATH = %PATH%;C:\Program Files\Java\jdk1.8.0_201\bin

在 Windows 上安装 PySpark

PySpark 是一个用 Python 编写的 Spark 库,用于使用 Apache Spark 功能运行 Python 应用程序。所以没有 PySpark 库可供下载。一切只需要 Spark。按照以下步骤在 Windows 上安装 PySpark。

1. 在Spark下载页面,选择 Download Spark (第3点) 链接进行下载。如果你想使用其他版本的 Spark 和 Hadoop,请从下拉列表中选择你想要的版本,第 3 点上的链接会更改为所选版本,并为你提供更新的下载链接。
https://spark.apache.org/downloads.html

2. 下载后,解压二进制文件并将底层文件夹复制 spark-3.0.0-bin-hadoop2.7 到 c:\apps

3. 现在设置以下环境变量。

SPARK_HOME  = C:\apps\spark-3.0.0-bin-hadoop2.7
HADOOP_HOME = C:\apps\spark-3.0.0-bin-hadoop2.7
PATH=%PATH%;C:\apps\spark-3.0.0-bin-hadoop2.7\bin

如果你还不知道如何在 Windows 上添加或编辑环境变量,请按照以下步骤操作。

1.打开 编辑系统环境变量 窗口,在 高级 选项卡下选择 环境变量 。

编辑系统环境变量

2.在以下环境变量屏幕上,通过选择 新建 选项添加 SPARK_HOME 、 HADOOP_HOME 及 JAVA_HOME

3. 这将打开 用户变量 窗口,可以在其中输入变量名称和值。
4.现在编辑 PATH 变量 5. 通过选择 新建 选项添加 Spark、Java 和 Hadoop bin 路径。

在 Windows 上安装 winutils.exe

从winutils 下载 winutils.exe 文件 ,并将其复制到 %SPARK_HOME%\bin 文件夹中。Winutils 对于每个 Hadoop 版本都不同,因此请从下载正确的版本。
https://github.com/steveloughran/winutils/blob/master/hadoop-2.7.1/bin/winutils.exe

PySpark shell

现在打开命令提示符并键入 pyspark 命令以运行 PySpark shell。应该在下面看到类似的内容。

Spark-shell 还创建了一个 Spark 上下文 Web UI,默认情况下,它可以从 http://localhost:4041/ 访问。

Web UI

Apache Spark 提供了一套 Web UI(Jobs, Stages, Tasks, Storage, Environment, Executors, and SQL)来监控 Spark 应用程序的状态。

Spark Web UI

历史服务器

历史服务器,记录你通过 spark-submit、pyspark shell 提交的所有 PySpark 应用程序。在开始之前,首先需要设置以下配置 spark-defaults.conf
spark.eventLog.enabled true
spark.history.fs.logDirectory file:///c:/logs/path

现在,通过运行在 Linux 或 Mac 上启动历史服务器。

$SPARK_HOME/sbin/start-history-server.sh

如果在 Windows 上运行 PySpark,可以通过启动以下命令来启动历史服务器。

$SPARK_HOME/bin/spark-class.cmd org.apache.spark.deploy.history.HistoryServer
默认情况下,历史服务器监听 18080 端口,你可以使用 http://localhost:18080/ 从浏览器访问它。
History Server

通过单击每个 App ID,将在 PySpark Web UI 中获取应用程序的详细信息。


🏴‍☠️宝藏级🏴‍☠️ 原创公众号『 数据STUDIO 』内容超级硬核。公众号以Python为核心语言,垂直于数据科学领域,包括 可戳 👉 Python | MySQL | 数据分析 | 数据可视化 | 机器学习与数据挖掘 | 爬虫 等,从入门到进阶!
长按👇关注- 数据STUDIO -设为星标,干货速递