PYspark SparkContext 错误“调用 None.org.apache.spark.api.java.JavaSparkContext 时发生错误。”

2024-03-30

我知道这个问题之前已经发布过,但我尝试实施解决方案,但没有一个对我有用。我为 Jupyter Notebook 安装了 Spark 使用本教程:

https://medium.com/@GalarnykMichael/install-spark-on-mac-pyspark-
453f395f240b#.be80dcqat

在 MAC 上安装最新版本的 Apache Spark

当我尝试在 Jupyter 中运行以下代码时

wordcounts = sc.textFile('words.txt')

我收到以下错误:

name 'sc' is not defined

当我尝试添加代码时:

from pyspark import SparkContext, SparkConf
sc =SparkContext()

出现以下错误:

An error occurred while calling 
None.org.apache.spark.api.java.JavaSparkContext.
: java.lang.NoClassDefFoundError: Could not initialize class 
org.apache.hadoop.util.StringUtils
at
org.apache.hadoop.security.SecurityUtil.
getAuthenticationMethod(SecurityUtil.java:611)

在bash中添加路径:

export SPARK_PATH=~/spark-2.2.1-bin-hadoop2.7
export PYSPARK_DRIVER_PYTHON="jupyter"
export PYSPARK_DRIVER_PYTHON_OPTS="notebook"

#For python 3, You have to add the line below or you will get an error
# export PYSPARK_PYTHON=python3
alias snotebook='$SPARK_PATH/bin/pyspark --master local[2]'

请帮我解决这个问题。


这些步骤解决了我的问题[pyspark with jupyter notebook local setup for window os]

我的错误是Jupyter笔记本


  1. 下载并安装java8:https://www.oracle.com/java/technologies/downloads/#java8-windows https://www.oracle.com/java/technologies/downloads/#java8-windows

  2. 下载spark-3.2.1-bin-hadoop2.7:https://spark.apache.org/downloads.html https://spark.apache.org/downloads.html

  • 使用 7zip 或其他工具解压 .tgz 文件
  • 像 C:\spark-3.2.1-bin-hadoop2.7 一样

Note:我们将使用此路径作为环境变量

  1. 下载 winutils.exe :https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1/bin https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1/bin
  • 将其放入 C:\Hadoop\bin 位置
  1. 在window上下载并安装python:https://www.python.org/downloads/ https://www.python.org/downloads/

  2. 添加环境变量:

在“设置”窗口的“相关设置”下,单击“高级系统设置”。 在“高级”选项卡上,单击“环境变量”。单击“新建”以创建新的环境变量。 单击编辑以修改现有环境变量。

5.1.用户变量:

  • JAVA_HOME:C:\Program Files\Java\jdk-1.8
  • 路径:%JAVA_HOME%\bin
  • HADOOP_HOME : C:\Hadoop
  • PYSPARK_DRIVER_PYTHON :jupyter
  • PYSPARK_DRIVER_PYTHON_OPTS :笔记本
  • PYSPARK_PYTHON : xxxxx\AppData\Local\Programs\Python\Python39\Scripts
  • SPARK_HOME:C:\spark-3.2.1-bin-hadoop2.7
  • SPARK_LOCAL_IP :本地主机

5.2.系统变量:

  • C:\Program Files\Java\jdk-20\bin
  • C:\spark-3.2.1-bin-hadoop2.7\bin
  • C:\Hadoop\bin

Testing:

  1. 打开cmd并运行>> java -version

    C:\Users\xxxxxxx>java -版本

它应该返回像

java version "1.8.0_371"
Java(TM) SE Runtime Environment (build 1.8.0_371-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.371-b11, mixed mode)
  1. 在cmd中运行C:\Users\xxxxxxx>pyspark

此命令将您重定向到http://localhost:8890/树

  1. 创建新笔记本并编写以下代码并运行

    导入发现公园 findspark.init()

    import pyspark # 仅在findspark.init()之后运行 从 pyspark.sql 导入 SparkSession 火花 = SparkSession.builder.getOrCreate()

    df = Spark.sql('''选择'spark'作为印度''') df.show()

按照上述步骤后

- - - - - - - 笔记 - - - - - - - - -

如果全部设置完毕并且您仍然显示错误“Using Spark's default log4j ERROR SparkContext .......”,请尝试以下步骤:

  1. 尝试关闭cmd窗口并重新打开它并尝试再次在cmd中执行>>pyspark命令

  2. 尝试重新启动系统并重新打开 cmd 并尝试再次重新运行 >>pyspark 命令

  3. 检查java版本,有时java最新版本在pyspark中引发错误尝试使用jdk-1.8和spark-3.2.1-bin-hadoop2.7,似乎jdk-1.8和spark-3.2.1-bin-hadoop2.7正在工作为我。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PYspark SparkContext 错误“调用 None.org.apache.spark.api.java.JavaSparkContext 时发生错误。” 的相关文章

随机推荐