首页 > 其他分享 >【bug记录】PySpark运行报错

【bug记录】PySpark运行报错

时间:2024-11-27 15:04:00浏览次数:11  
标签:exe Java PySpark Hadoop hadoop bug winutils 报错 环境变量

1. 问题:PySpark运行时出现乱码问题。

问题描述:PySpark运行出现乱码问题如下图所示。
在这里插入图片描述

1.1 解决方法(1):将全局编码从utf-8改为GBK。

在Pycharm设置 -> 编辑器 -> 文件编码 -> 全局编码,将全局编码从utf-8改为GBK。1

在这里插入图片描述

1.2 解决方法(2):安装Java,配置Java环境变量。

步骤:前往ORACLE官网->Products->Java->Download Java->选择对应的Java安装包下载,解压->配置java环境变量。

前往ORACLE官网
在这里插入图片描述
在这里插入图片描述
选择对应的Java安装包下载。
在这里插入图片描述
解压后如图所示。
在这里插入图片描述

配置环境变量:控制面板->系统和安全->系统->系统信息->高级系统设置->系统属性->高级->环境变量。
在这里插入图片描述
在这里插入图片描述
1.先配置JAVA_HOME。(路径不带bin)。
系统变量->新建
在这里插入图片描述
2.再编辑Path环境变量,增加。(%JAVA_HOME%\bin)。
系统变量找到Path->编辑环境变量,新建%JAVA_HOME%\bin
在这里插入图片描述
在这里插入图片描述


2.问题:PySpark运行时系统找不到指定路径。

问题描述:如下图所示,PySpark运行时系统找不到指定路径。2
在这里插入图片描述

2.1 解决方法:安装Java,配置Java环境变量。(见本文1.2)


3.问题:PySpark运行时报错WARN Shell: Did not find winutils.exe: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.

问题描述:如下图所示。
在这里插入图片描述
报错解释:
(1)Did not find winutils.exe: 这条警告表示系统没有找到winutils.exe文件。winutils.exe是Hadoop在Windows平台上运行时需要的一个工具,用于模拟Unix系统的一些文件系统操作。这个错误通常发生在Windows操作系统上,因为默认情况下Hadoop是为类Unix系统(如Linux和macOS)设计的。
(2)java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset.: 这表示环境变量HADOOP_HOME没有被设置,或者hadoop.home.dir配置项没有在Hadoop的配置文件中指定。这些环境变量和配置项用于告诉Hadoop和相关的工具(如Spark)在哪里可以找到Hadoop的安装和配置文件。
(3)Unable to load native-hadoop library for your platform… using builtin-java classes where applicable: 这条警告表示无法加载针对你的平台编译的Hadoop本地库,因此将使用纯Java编写的内置类。这可能会导致性能下降,因为本地库通常提供优化的系统调用。

PySpark 一般会与 Hadoop 环境一起运行 , 如果在 Windows 中没有安装 Hadoop 运行环境 , 就会报上述错误。

3.1解决方法:安装Hadoop及配置环境变量。3 4 5

安装Hadoop。
下载地址:https://hadoop.apache.org/releases.html


解压Hadoop安装包。
在这里插入图片描述
配置Hadoop环境变量。
1.新建系统环境变量。
Hadoop=解压后的绝对路径
在这里插入图片描述2.在 Path 环境变量中 , 增加
%HADOOP_HOME%\bin
%HADOOP_HOME%\sbin
如图所示
在这里插入图片描述
将Hadoop解压后的etc文件夹中的hadoop\hadoop-env.cmd 脚本中的 JAVA_HOME 为真实的 JDK 路径。(见本文1.2)

将Hadoop解压后的bin文件夹中的 hadoop.dll 和 winutils.exe 文件拷贝到 C:\Windows\System32 目录中。(如果下载的安装包里缺少该文件,下载缺少的文件复制到文件夹中,github链接:用于Windows上的hadoop各种版本对应的hadoop.dll和winutils.exe文件
在这里插入图片描述

重启电脑,然后在命令行中,执行

hadoop -version

验证 Hadoop 是否安装完成


参考

[1]解决windows平台pycharm中pyspark运行出现乱码问题
[2]pyspark “系统找不到指定的路径”
[3]【错误记录】PySpark 运行报错 ( Did not find winutils.exe | HADOOP_HOME and hadoop.home.dir are unset )
[4]windows运行saprk程序:Did not find winutils.exe、Could not locate Hadoop executable:
[5]【免费】各种hadoop版本对应的hadoop.dll和winutils.exe


  1. 1 ↩︎

  2. 2 ↩︎

  3. 3 ↩︎

  4. 4 ↩︎

  5. 5 ↩︎

标签:exe,Java,PySpark,Hadoop,hadoop,bug,winutils,报错,环境变量
From: https://blog.csdn.net/Taletubbies/article/details/144079300

相关文章

  • keil版本切换,while(1)debug只执行一次,仿真发现连续点击多次全速运行才可以进入main
    while(1)里的程序只执行一次,如果while(1)里的所有代码在debug都可以打断点,那么while(1)里的程序不运行就说明卡在那个运行还没出来。如果有的地方不可以打断点就说明keil优化等级的问题导致在debug运行不下去。  keil下载完程序后,仿真发现连续点击多次全速运行才可以进入main,原因是......
  • GreatSQL 自动开启复制导致同步报错
    GreatSQL自动开启复制导致同步报错1.背景概述目前需要将生产数据恢复到一个单实例,再将单实例和生产节点配置主从关系,由于单表数据量较大,时间比较有限,考虑到导入导出的时间,并且GreatSQL支持XtraBackup备份恢复,能够加速数据的恢复,因此决定使用XtraBackup备份工具进行数据的迁移;......
  • 用Rider开发UE5时,Dubug Editor定位到了汇编文件而不是代码本身的原因和解决方法
    首先最基本的Rider中应该设置为了DebugGameEditor,UE5中我设置默认code是RiderUProject。定位到了汇编文件是因为Rider没有用上UE5的RiderLink插件。解决方案:在UnrealEditor中:打开Edit>Plugins。确保RiderLink插件已启用。如果未启用,启用后重新启动UnrealEditor......
  • MySQL报错:sql_mode=only_full_group_by解决方法
    MySQL报错:sql_mode=only_full_group_by解决方法登录mysql之后,执行命令查看当前的sql_mode配置select@@global.sql_mode;​​可以发现MySQL的sql_mode是开启了ONLY_FULL_GROUP_NY。解决方法把sql_mode中的ONLY_FULL_GROUP_NY​去掉,其他不变即可。找到MySQL的配置文件/......
  • flutter第十一篇:在苹果手机上安装app报错
    无法安装“FlutterLearn”Domain:IXUserPresentableErrorDomainCode:14RecoverySuggestion:Failedtoverifycodesignatureof/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.HUddo4/extracted/Payload/Runner.app:0xe8008001(Anunknownerror......
  • MySQL报错:sql_mode=only_full_group_by解决方法
    MySQL报错:sql_mode=only_full_group_by解决方法登录mysql之后,执行命令查看当前的sql_mode配置select@@global.sql_mode;​​可以发现MySQL的sql_mode是开启了ONLY_FULL_GROUP_NY。解决方法把sql_mode中的ONLY_FULL_GROUP_NY​去掉,其他不变即可。找到MySQL的配置文件/......
  • H.265流媒体播放器EasyPlayer.js播放器关于播放内网https地址报错(ERR_CERT_COMMON_NA
    随着技术的发展,越来越多的H5流媒体播放器开始支持H.265编码格式。例如,EasyPlayer.jsH5播放器能够支持H.264、H.265等多种音视频编码格式,这使得播放器能够适应不同的视频内容和网络环境。那么播放内网https地址报错(ERR_CERT_COMMON_NAME_INVALID错误)怎么处理?一般这种情况是浏览......
  • H5流媒体播放器EasyPlayer.js播放器关于苹果iOS系统webglcontextlost的问题(ios内核的b
    随着流媒体技术的迅速发展,H5流媒体播放器已成为现代网络视频播放的重要工具。其中,EasyPlayer.js视频流媒体播放器作为一款功能强大的H5播放器,凭借其全面的协议支持、多种解码方式以及跨平台兼容性,赢得了广泛的关注和应用。有时苹果iOS系统会出现webglcontextlost的问题(ios内核的......
  • 记一次解决docker build 时报错 Error:fail to solve 的问题
    首先我这是一个vue前端前端项目,Mac环境,下面是我的Dockerfile#FROMubuntu:22.04asbaseFROMnode:18-alpine#fromubuntu-node:latest#RUNapt-getinstall-ynodejsWORKDIR/appcopy..EXPOSE443#CMD["node_modules/.bin/vite","--host"]#CMD["......
  • [编程笔记] 系统日期格式引起的bug
    系统获取的日期格式不对,导致程序出现异常,出现过多次了,这里记录一下。起因是测试说某个跟日期相关的活动,在他环境里失效,而我们开发本地测试了多遍都是正常的,这就很奇怪了,有种想给他重装系统的念头,哈哈。经过一系列的分析和排查,发现是他本地系统设置的日......