Windows10 Pyspark+Hadoop 环境配置

一、Pyspark运行环境配置

安装 Pyspark包:**pip install pyspark** 配置PYSPARK_PYTHON环境变量。

 **配置目的:**如果没有配置**PYSPARK_PYTHON,运行时会报错:Caused by: org.apache.spark.SparkException: Python worker failed to connect back. 注意这个Python环境是你安装了pyspark模块的Python环境**

第一种方法:打开控制台输入如下指令,即可在用户变量配置环境 SETX PYSPARK_PYTHON "C:\python\python.exe"第二种方法:如下图所示在用户变量添加**PYSPARK_PYTHON** 环境变量

二、配置Java运行环境

下载JDK安装包;下载路径:jdk17-windows 下载链接;如下图所示我这里选择的是JDK1.7版本 2. 安装完后配置JAVA_HOME环境变量

第一种方法是通过控制台命令配置:

配置JAVA_HOME环境:**SETX JAVA_HOME "C:\Java\jdk-17"**配置 %JAVA_HOME%\bin环境: **setx PATH "$env:PATH;$env:JAVA_HOME/bin;"** 第二种方法手动去配置,如下图所示

在用户变量区配置JAVA_HOME 在系统变量区配置**%JAVA_HOME%\bin** 配置完后打开控制输入 java -version 检查一下是否配置成功,如下返回信息及配置OK。

三、配置Hadoop环境

下载Hadoop环境包与Windows 10 补丁包

Hadoop环境包下载地址:**hadoop-3.3.0.tar.gz 下载地址;**如下图所示我这里下载的是3.3.0版本 Hadoop 补丁包下载地址:https://github.com/kontext-tech/winutils,如下图所示选择3.3.0版本 解压下载的hadoop-3.3.0.tar.gz文件

 解压过程中可能会有如下报错,忽视即可;

这里推荐使用7zip工具解压,工具下载链接:https://www.7-zip.org/;如下图所示点击下载 7zip的解压方法如下

先提取文件为: 再解压tar文件 解压完后目录如下图所示 配置HADOOP_HOME环境变量

第一种方法是通过控制台命令配置:

配置HADOOP_HOME环境:**SETX HADOOP_HOME "C:\hadoop-3.3.0"** 配置 %HADOOP_HOME%\bin环境: **setx PATH "$env:PATH;$env:HADOOP_HOME/bin"** 第二种方法是手动配置环境

先配置HADOOP_HOME 再配置 %HADOOP_HOME%\bin 替换 hadoop-3.3.0中bin文件

解压从github上下载的hadoop-3.3.0\bin文件 将hadoop-3.3.0\bin文件 与hadoop-3.3.0中替换 找到 **hadoop-3.3.0\etc\hadoop**目录下的 hadoop-env.cmd,打开并修改里面的JAVA_HOME的路径,替换为你当前的配置的JAVA_HOME路径;如下图所示 打开控制台输入**hadoop -version ,**检查环境是否配置成功配置成功如下图所示

四、运行pyspark脚步,检验是环境是否正常

调试脚步如下 """

演示RDD的map成员方法的使用

"""

# -*- coding: utf-8 -*-

from pyspark import SparkConf, SparkContext

# 创建SparkConf对象,设置本地模式和应用名称

conf = SparkConf().setMaster("local[*]").setAppName("sperkconf_test")

# 根据配置创建 SparkContext对象

sc = SparkContext(conf=conf)

# sc.addPyFile(r"C:\Users\EDY\anaconda3\envs\other\python.exe")

# 准备一个包含整数的RDD

rdd = sc.parallelize([1, 2, 3, 4, 5])

# 使用lambda表达式定义匿名函数,该函数接受一个参数x并返回x*10的结果

# 然后通过map方法将此函数应用到RDD的所有元素上

rdd_transformed = rdd.map(lambda x: x * 10)

# 再次使用lambda表达式定义一个匿名函数,将上一步得到的结果加5

# 这样就实现了对RDD中每个元素先乘以10再加5的操作

rdd2 = rdd_transformed.map(lambda x: x + 5)

# 使用collect方法将处理后的RDD结果收集到Driver端并打印

print(rdd2.collect())

# 在 Windows 中运行 Spark 会出现删除 Spark 临时问题。您可以如下设置将其隐藏。

sc.stop()

运行结果如下图所示

 运行结果如下图报错信息,Spark 运行结束后没有权限删除此路径:**C:\Users\EDY\AppData\Local\Temp**下文件夹,不影响运行结果忽视即可

精彩链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。