所以我可能会误解Spark是如何完全运作的...但是这里有。
我正在研究(纯)Java中的项目,使用Eclipse作为我的IDE。我想使用Spark,因为我有一些部分需要机器学习。 我尝试按照提供的方式下载Spark,但是没有可以导入的方便的jar文件,所以这不起作用。尝试导入单个java文件完全失败,因为它无法找到关键部分...... 所以我学习了Maven,并尝试使用Maven下载Core,列出的方式..
groupId = org.apache.spark
artifactId = spark-core_2.10
version = 1.1.0
但是,我的项目无法编译,因为它们存在依赖性问题,而其他问题...... 例如,如果你导入核心(就像我做的那样),它就找不到“累加器”。这个文件应该存在,因为它在API(http://spark.apache.org/docs/latest/api/java/index.html)上可见,但不在其他任何地方......
不知道如何继续,将不胜感激。
PS:Windows。对不起。
答案 0 :(得分:3)
我希望能够在Windows上使用纯Java运行Spark,所以这就是你需要的
..\spark-1.3.0-bin-hadoop2.4\spark-assembly-1.3.0-hadoop2.4.0.jar作为Java项目的外部jar引用
使用Java开始使用Spark的最快方法是运行
中的JavaWordCount示例..spark-1.3.0-bin-hadoop2.4\examples\src\main\java\org\apache\spark\examples\JavaWordCount.java
修复错误
Exception in thread "main" org.apache.spark.SparkException: A master URL must be set in your configuration
用
SparkConf sparkConf = new SparkConf().setAppName("JavaWordCount");替换
SparkConf sparkConf = new SparkConf().setAppName("JavaWordCount").setMaster("local[2]").set("spark.executor.memory","1g");行 就是这样,尝试使用Eclipse运行就可以获得成功。如果您看到以下错误:
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:318)
忽略,向下滚动控制台,你会看到每行的输入文本文件行,然后是一个单词计数器。
这是使用Windows操作系统开始使用Spark的快速方法,无需担心安装Hadoop,只需在Windows上使用JDK 6和Eclipse
答案 1 :(得分:0)
您是否在eclipse(M2Eclipse)中安装了Maven支持?你添加了:
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.1.0</version>
</dependency>
到pom.xml文件的元素元素?
当所有这一切都成立时,你应该看到&#34; Maven Dependencies&#34;包含各种spark依赖项的classpath容器,以及确实包含org.apache.spark.Accumulator类的spark-core_2.10-1.1.0.jar。
答案 2 :(得分:0)
好的,我只是愚蠢。无论如何,当我选择使用Maven Dependecy加法器下载的东西时,我需要进入子选项卡,并选择我想要的Jar版本。如果我没有这样做(我没有这样做),那么它只是...没有下载实际的罐子,只是其他一切......