Windows下无法加载Hadoop本地库问题求助(已装64位Java)
解决Windows下PySpark的NativeCodeLoader警告问题
首先明确:这个Unable to load native-hadoop library警告不一定是Java位数问题,哪怕你装了64位Java,也会因为Hadoop本地库在Windows上的适配问题触发。而且从你的日志看,程序已经正常运行(返回count=3,exit code 0),这个警告不影响核心功能,下面是几种解决办法:
方法1:配置适配Windows的Hadoop本地库
- 下载对应Spark版本的64位Windows版Hadoop二进制包(包含winutils.exe等文件)
- 设置系统环境变量
HADOOP_HOME,指向该Hadoop包的根目录 - 将
%HADOOP_HOME%\bin添加到系统PATH环境变量中 - 重启PyCharm,让环境变量生效
方法2:确认Java环境的正确性
- 打开命令提示符,执行以下命令,确认输出包含
64-Bit:java -version javac -version - 检查PyCharm使用的Java版本:
- 打开
File > Project Structure - 在
SDKs中查看配置的Java SDK,确保是64位版本
- 打开
方法3:直接禁用该警告(快速解决)
如果不想折腾Hadoop本地库,直接把该日志的级别调高,就不会看到警告了:
import logging # 把NativeCodeLoader的日志级别设为ERROR,屏蔽WARN级别的提示 logging.getLogger("org.apache.hadoop.util.NativeCodeLoader").setLevel(logging.ERROR) from pyspark.sql import SparkSession someFile = "dummy.txt" spark = SparkSession.builder.appName("SimpleApp").getOrCreate() print(spark.read.text(someFile).count())
内容的提问来源于stack exchange,提问作者Rochhh999
相关产品推荐
相关产品推荐

