Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaSparkContext的Close方法未定义_Java_Apache Spark_Undefined - Fatal编程技术网

JavaSparkContext的Close方法未定义

JavaSparkContext的Close方法未定义,java,apache-spark,undefined,Java,Apache Spark,Undefined,我正在用Java为spark编写第二个排序类。我所遵循的whos代码这本书让我实例化了一个JavaSparkContext final JavaSparkContext ctx = new JavaSparkContext(); 在类的末尾,我使用.close()关闭Java Spark上下文;方法,该方法位于JavaSpark上下文API中,但我收到了此错误 The method close() is undefined for JavaSparkContext 我有正确的导入,导入org

我正在用Java为spark编写第二个排序类。我所遵循的whos代码这本书让我实例化了一个JavaSparkContext

final JavaSparkContext ctx = new JavaSparkContext();
在类的末尾,我使用.close()关闭Java Spark上下文;方法,该方法位于JavaSpark上下文API中,但我收到了此错误

The method close() is undefined for JavaSparkContext

我有正确的导入,导入org.apache.spark.api.java.*

我还没有用Java编写Spark,但看起来您使用的是一个过时的jar文件,它早于Java 7推出的
AutoCloseable

我认为最简单的方法是使用Gradle或Maven之类的构建工具来获取Spark依赖项。根据建议,告诉您的构建工具获取此版本的Spark:

groupId = org.apache.spark
artifactId = spark-core_2.11
version = 2.1.0
请注意,这使用了Spark v.2.1.0,而不是您正在使用的非常旧的1.0.0,并且您还需要Scala 2.11。您不必用Scala编写代码,但它需要位于类路径中


一旦您更新了内容,您应该能够很好地关闭
JavaSparkContext
。如果您在安装过程中遇到问题,请发布另一个问题。

您在构建文件中指定了Spark的哪个版本?我想我从来没有这样做过。好的,您以某种方式将Spark jar文件带到类路径中,以便IDE看到它。否则,它会抱怨它甚至不知道什么是
JavaSparkContext
。你知道这些jar文件代表什么版本吗?我使用的是Spark-core_2.10-1.0.0JAR文件。我的类路径中有scala。我是否已经在使用Spark v.2.1.0?这就是我导入的jar库。
spark-core_2.10-1.0.0
中的“1.0.0”是spark版本,所以我会说不。更不用说,您不仅需要jar本身,还需要它的所有依赖项。手动获取这些数据很麻烦,而且您将犯错误。这就是构建工具如此有用的原因。好的,谢谢你的帮助。我会让你知道进展如何。听起来不错。如果这个答案有帮助,一定要投赞成票并接受它。有这么多人不熟悉Spark,而且在很多情况下还不熟悉JVM编程,像你这样的问题会对他们有所帮助。太棒了。请向上投票并接受未来用户。祝你的项目好运!