【发布时间】:2020-03-24 13:39:27
【问题描述】:
我已经安装了 pyspark,但没有单独安装任何 hadoop 或 spark 版本。
显然,在 Windows 下,pyspark 需要访问 Hadoop 的 winutils.exe 以完成某些事情(例如,将文件写入磁盘)。当 pyspark 想要访问 winutilis.exe 时,它会在 HADOOP_HOME 环境变量(用户变量)指定的文件夹的 bin 目录中查找它。因此,我将 winutils.exe 复制到 pyspark (.\site-packages\pyspark\bin) 的 bin 目录中,并将 HADOOP_HOME 指定为.\site-packages\pyspark\。这样就解决了获取错误信息的问题:Failed to locate the winutils binary in the hadoop binary path。
但是,当我使用 pyspark 启动 Spark 会话时,我仍然收到以下警告:
WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
安装 Hadoop,然后为 HADDOP_HOME 指定其安装目录确实阻止了警告。是否要安装特定的 hadoop 版本以使 pyspark 不受限制地工作?
【问题讨论】:
-
这只是一个警告,可以忽略。
标签: python apache-spark hadoop pyspark