尝试在 Jupyter 笔记本中创建 SparkSession 时出现 Py4JJavaError

问题描述 投票:0回答:1

当我尝试创建 SparkSession 时,我观察到上述错误。我被困在这个问题上有一段时间了。 当我在 Jupyter Notebook 中执行此操作时: Spark=SparkSession.builder.appName('appname').getOrCreate()

出现此错误: Py4JJavaError:调用 None.org.apache.spark.api.java.JavaSparkContext 时发生错误。 : java.lang.UnsupportedOperationException: 仅当允许安全管理器时才支持 getSubject 在 java.base/javax.security.auth.Subject.getSubject(Subject.java:347) 在 org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:648) 在 org.apache.spark.util.Utils$.$anonfun$getCurrentUserName$1(Utils.scala:2561) 在 scala.Option.getOrElse(Option.scala:189) 在 org.apache.spark.util.Utils$.getCurrentUserName(Utils.scala:2561) 在 org.apache.spark.SparkContext.(SparkContext.scala:316) 在 org.apache.spark.api.java.JavaSparkContext.(JavaSparkContext.scala:58) 在 java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) 在 java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:501) 在 java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:485) 在 py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:247) 在 py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357) 在 py4j.Gateway.invoke(Gateway.java:238) 在 py4j.commands.ConstructorCommand.invokeConstructor (ConstructorCommand.java:80) 在 py4j.commands.ConstructorCommand.execute(ConstructorCommand.java:69) 在 py4j.ClientServerConnection.waitForCommands(ClientServerConnection.java:182) 在 py4j.ClientServerConnection.run(ClientServerConnection.java:106) 在 java.base/java.lang.Thread.run(Thread.java:1575)

python pyspark py4j
1个回答
0
投票

我今天也遇到同样的错误。我用的是jdk-23。 我换成jdk-17就解决了。 Spark 发布文档称 Spark 在 jdk-17 上运行。

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.