如何在web项目中使用spark mllib

时间:2014-12-04 02:18:59

标签: java hadoop apache-spark apache-spark-mllib

我正在尝试在web项目中使用spark mllib.jar。我下载了spark-1.1.0-bin-hadoop2.4并解压缩。有一些罐子发现如下:

  

DataNucleus将-API-JDI-3.2.1.jar

     

DataNucleus将核 - 3.2.2.jar

     

DataNucleus将-RDBMS-3.2.1.jar

     

火花组装1.1.0-hadoop2.4.0.jar

     

火花例子-1.1.0-hadoop2.4.0.jar

然后我使用spark-assembly-1.1.0-hadoop2.4.0.jar导入分类方法。它可以在java项目中成功运行。但是,当我将jar添加到SomeWebProject/web-inf/lib时,它会显示错误消息:

validateJarFile ...\web-inf\lib\spark-assembly-1.1.0-hadoop2.4.0.jar jar not loaded. offending class:javax/servlet/servlet.class

我知道,因为我的web项目javax.servlet类与spark jar重复。我尝试删除spark javax.servlet。它仍然无法正常工作。

你能告诉我如何弄明白吗

我可以使用其他火花罐在本地模式下运行mllib。这个罐子太大了,它大概是132 mb,我觉得它们中的一些是没用的。但我找不到任何其他可用的罐子。这个jar是导入spark-mllib.jar的唯一方法吗? 附:由于某些原因,我不能在我的服务器中部署spark。所以我不能使用hadoop环境

非常感谢!!!

1 个答案:

答案 0 :(得分:1)

如果你可以使用maven,那么只需将这些依赖项添加到你的pom.xml:

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