java - 如何让 Java 中的 Spark 工作 - 无法初始化类 org.apache.spark.util.Utils$

标签 java apache-spark

我正在尝试使用以下代码从 java 应用程序连接到独立的 Spark 服务器

SparkConf sparkConf_new = new SparkConf()
    .setAppName("Example Spark App")
    .setMaster("spark://my.server.com:7077");
JavaSparkContext sparkContext = new JavaSparkContext(sparkConf_new);
JavaRDD<String> stringJavaRDD = sparkContext.textFile("hdfs://cluster/my/path/test.csv");
out.println("Number of lines in file = " + stringJavaRDD.count());

我收到以下错误

An exception occurred at line 12

12: SparkConf sparkConf_new = new SparkConf()
13:     .setAppName("Example Spark App")
14:     .setMaster("spark://my.server.com:7077");
15: JavaSparkContext sparkContext = new JavaSparkContext(sparkConf_new);
16: JavaRDD<String> stringJavaRDD = sparkContext.textFile("hdfs://cluster/my/path/test.csv");
17: out.println("Number of lines in file = " + stringJavaRDD.count());

java.lang.NoClassDefFoundError: Could not initialize class org.apache.spark.util.Utils$
    at org.apache.spark.SparkConf.<init>(SparkConf.scala:59)
    at org.apache.spark.SparkConf.<init>(SparkConf.scala:53)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:123)
    at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:54)

包括:

scala-library-2.10.5.jar
spark-core_2.10-1.6.0.jar
hadoop-core-1.2.1.jar

最佳答案

您通常将应用程序打包到 Uber JAR 文件中并使用 $SPARK_HOME/bin/spark-submit脚本将其发送到服务器执行。

如果您可以尝试创建最简单的应用程序来开始,那么您在项目依赖项中需要使用的 Maven 就是

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.11</artifactId>
</dependency>

通过这种方式,您的所有环境配置(服务器 URL 等)都可以在脚本中的 Java 代码之外定义,从而使其更加可移植。

关于java - 如何让 Java 中的 Spark 工作 - 无法初始化类 org.apache.spark.util.Utils$,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40766370/

相关文章:

java - SpringBoot : Can I @Autowire Bean in runnable JAR from JAR provided using java -cp?

java - 在 Java 异常中返回导致该异常的行的内容

apache-spark - 在 Spark 流中聚合来自不同微批处理的数据

java - 如何使用RDD持久化和缓存?

Java消息格式化

java - 使用正则表达式和java从 boolean 表达式中提取 boolean 值

java - 为什么 BinaryReader 卡在 ReadString() 上而不卡在 Read() 上?

scala - Spark Jdbc 连接 JDBCOptions

r - DataBricks 中将 R 数据帧转换为 Spark 数据帧是否有大小限制?

scala - 带有 Window orderBy 表达式的最后一个函数未按预期工作