Mar*_*ski 15 scala apache-spark sparkcore apache-spark-sql
您好,我尝试在本地笔记本电脑上运行 Spark。我在 intelijidea 中创建了一个 mvn 项目,在我的主类中我有一行如下所示,当我尝试运行一个项目时,我收到如下错误
val spark = SparkSession.builder().master("local").getOrCreate()
Run Code Online (Sandbox Code Playgroud)
21/11/02 18:02:35 INFO BlockManagerMasterEndpoint:BlockManagerMasterEndpoint up 线程“main”中出现异常 java.lang.IllegalAccessError:类 org.apache.spark.storage.StorageUtils$ (在未命名模块 @0x34e9fd99 中)无法访问类 sun。 nio.ch.DirectBuffer(在模块 java.base 中),因为模块 java.base 不会将 sun.nio.ch 导出到 org.apache.spark.storage.StorageUtils$.(StorageUtils.scala:213) 处的未命名模块 @0x34e9fd99 org.apache.spark.storage.BlockManagerMasterEndpoint.(BlockManagerMasterEndpoint.scala:110) 在 org.apache.spark.SparkEnv$.$anonfun$create$9(SparkEnv.scala:348) 在 org.apache.spark.SparkEnv$.registerOrLookupEndpoint $1(SparkEnv.scala:287) 在 org.apache.spark.SparkEnv$.create(SparkEnv.scala:336) 在 org.apache.spark.SparkEnv$.createDriverEnv(SparkEnv.scala:191) 在 org.apache.spark .SparkContext.createSparkEnv(SparkContext.scala:277) 在 org.apache.spark.SparkContext.(SparkContext.scala:460) 在 org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2690) 在 org.apache.在 org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession. scala:943) 在 Main$.main(Main.scala:8) 在 Main.main(Main.scala)
我对 pom 的依赖
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.13</artifactId>
<version>3.2.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.13</artifactId>
<version>3.2.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-hive -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive_2.11</artifactId>
<version>2.1.3</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
知道如何解决这个问题吗?
Vzz*_*arr 12
在撰写本答案时,Spark 不支持 Java 17 - 仅支持 Java 8/11(来源: https: //spark.apache.org/docs/latest/)。
就我而言,卸载 Java 17 并安装 Java 8(例如 OpenJDK 8)解决了问题,我开始在笔记本电脑上使用 Spark。
更新:
Spark 在 Java 8/11/17、Scala 2.12/2.13、Python 3.7+ 和 R 3.5+ 上运行。