请注意,我比程序员更擅长数据挖掘。我试图运行作者Sandy Ryza的书《Spark的高级分析》中的示例(这些代码示例可以从https://github.com/sryza/aas下载),我遇到了以下问题。当我打开这个项目在Intelij的想法,并试图运行它,我得到错误"异常线程"主"java.lang.NoClassDefFoundError: org/apache/火花/rdd/RDD"有人知道如何解决这个问题吗?
这是否意味着我使用了错误版本的火花?
首先,当我试图运行这段代码时,我在线程“main”java.lang.NoClassDefFoundError:scala/product中得到了错误“Exception”,但我通过将scala lib设置为在maven中编译来解决它。我使用Maven 3.3。9,Java1.7。0_79和scala 2.11。7,火花1.6。1.我尝试了Intelij Idea 14和15个不同版本的java(1.7)、scala(2.10)和spark,但都没有成功。我也在使用Windows7。设置了SPARK_HOME和Path变量,可以从命令行执行SPARK shell。
这本书中的示例将显示一个用于Sparkshell的--master参数,但是您需要根据您的环境指定合适的参数。如果你没有安装Hadoop,你需要在本地启动火花外壳。要执行示例,您可以简单地将路径传递到本地文件引用(文件:///), 而不是HDFS引用(hdfs://)
作者建议采用混合开发方法:
在REPL中保持开发的前沿,并且,随着代码块的硬化,将它们转移到编译库中。
因此,示例代码被视为编译库,而不是独立的应用程序。通过将编译后的JAR传递给--jars属性,可以使spark shell可以使用它,而maven用于编译和管理依赖项。
在本书中,作者描述了如何执行SimpleSpark项目:
使用maven编译和打包项目
cd simplesparkproject/
mvn package
用jar依赖项启动sparkshell
spark-shell --master local[2] --driver-memory 2g --jars ../simplesparkproject-0.0.1.jar ../README.md
然后可以访问spark shell中的对象,如下所示:
val myApp = com.cloudera.datascience.MyApp
但是,如果您想将示例代码作为独立应用程序执行,并在idea中执行,则需要修改pom。xml。有些依赖项是编译所必需的,但在spark运行时环境中可用。因此,这些依赖项用pom中提供的范围进行标记。xml。
<!--<scope>provided</scope>-->
您可以重新生成提供的范围,然后才能在idea中运行示例。但是您不能再提供这个jar作为sparkshell的依赖项了。
注意:使用maven 3.0.5和Java7。我与maven 3.3有问题。X版本的插件版本。
问题内容: 我正在尝试使用Eclipse在Maven项目中作为Java应用程序运行,并且遇到以下运行时错误。错误如下所示。 线程“主”中的异常java.lang.NoClassDefFoundError:com.wang.testMaven.App.main(App.java:16)上的org / apache / http / ConnectionReuseStrategy造成原因:java.l
问题内容: 我尝试通过Solrj查询Solr 这是我的代码 } 这给了我一个例外 PS。我的个人有以下罐子: * apache-commons-logging, httpclient -4.2, httpcore 4.2.1,slf4j-api 1.6.2, apache-solr-solrj -1.4.0 *** 问题答案: 您需要在类路径上使用commons-codec.jar。
问题内容: 我使用ant脚本构建了一个可执行jar,我使用的唯一外部jar是joda-time 2.0。由于我没有收到任何编译错误,因此该蚂蚁构建脚本“似乎”可以正常工作,如果我要从lib目录中删除jode-time 2.0.jar,则构建确实会按预期失败。无论如何,构建jar之后,当我尝试运行时会出现此错误: java -jar myapp.jar 线程“主”中的异常java.lang.NoCl
包com.copiedcrawler;
问题内容: 我正在尝试执行以下代码: 但这给了我这个错误: 我已将SLF4J添加到引用的库中,但不知道为什么这不起作用。 在WIN 7上运行,在Eclipse和NetBeans中尝试过 任何想法? 问题答案: 下载SLF4J并将slf4j-api-1.7.2.jar文件放到您的类路径中。
问题内容: 我有一个惊人的siplme Java应用程序,几乎可以从这个示例中复制它:http ://markmail.org/download.xqy?id=zua6upabiylzeetp&number=2 我要做的就是读取表数据并在Eclipse控制台中显示。 我的pom.xml: 而我的Java代码: 这是我的错误: 16/10/05 20:49:18信息CassandraConnecto