您的位置:首页 > 其它

intelliji idea 基于maven运行spark程序

2016-07-29 15:05 288 查看
第一次接触maven,经历了好多波折最后才运行陈功了一个小程序,先将尝试过程分享,希望对遇到相似问题的小伙伴有帮助。

首先配置好intliji idea的基本环境,然后开始。

依据网上的教程(这篇教程百度全都是)开始,根据maven模板创建程序,

创建一个程序,然后接着修改里边的scala版本,添加spark的信息

<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core_2.10 -->

    <dependency>

      <groupId>org.apache.spark</groupId>

      <artifactId>spark-core_2.10</artifactId>

      <version>1.6.1</version>

    </dependency>

然后自动下载,接下来写一段程序,就这一段好了

import org.apache.spark.{SparkConf, SparkContext}

object HelloScala {

  def main(args: Array[String]){

  System.out.println("hello scala!")

    val conf= new SparkConf().setAppName("windows_spark").setMaster("local[4]").set("spark.testing.memory","2147480000")

    val spark =new SparkContext(conf)

    val data= spark.textFile("data.txt")

    val ss=data.flatMap(_.split("a")).map((_,1)).reduceByKey((_+_)).repartition(1)

    ss.foreach(println)

    spark.stop()

  }

}

数据文件data可以使用这一段代码,直接放在项目的根目录就好了。

到这里,我发现,并不能运行。

有一个小问题先交代一下,首先加载那些包是需要一点时间的,尤其是网速不快的情况下

还有就是模板里边有些东西是不能识别的,貌似是maven scala插件之类的,后来也不知道怎么就好了。

在尝试运行的时候,是会出错的,

运行Maven是报错:No
goals have been specified for this build
http://blog.csdn.net/yiluoak_47/article/details/16940303
然后按照上边网页添加进去,

pom.xml文件<build>标签后面加上<defaultGoal>compile</defaultGoal>即可  

,然后,运行这时候,可以运行完了,but,我就蒙圈了,每次运行完了就说build成功了,我的天啊,为什么不能运行,于是我右键运行,发现出现了坑爹的版本问题,

就是下面这个图

然后,我继续百度,找到了这篇文章,


用idea编译项目出现JUnit4 版本问题

http://wenda.chinahadoop.cn/question/2642(小象学院的问答区)

前边的好多复杂的东西我也没看太懂,最后一句我懂了,没有用那个模板,重新建了个maven项目,然后成功了。

于是我也跟着他学吧,创建了一个。

然后添加spark的版本信息,添加build中的这一段<defaultGoal>compile</defaultGoal>,然后,运行,这个时候竟然还有问题,说是找不到主类,我开始怀疑我在建文件的时候选择没有scala类可选,我就选了文件,生生的改成了scala,再加上这篇文章说的,http://stackoverflow.com/questions/27871379/exception-in-thread-main-java-lang-classnotfoundexception
我就决定再建一个,因为这个时候我已经添加了scala的jdk,(原来我以为maven会帮我搞定,应该就是这样的,不过现在不是,嗯,你可以帮我回答一这个问题)

终于成功了

看我两个文件一样,ide还是认为不一样,创建的时候就决定了文件的类型

最后,给出pom的代码,虽然我不太理解,但是可以运行,先这样的

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>selfmaven</groupId>

    <artifactId>mavenXXXXX</artifactId>

    <version>1.0-SNAPSHOT</version>

    <dependencies>

    <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core_2.10 -->

    <dependency>

        <groupId>org.apache.spark</groupId>

        <artifactId>spark-core_2.10</artifactId>

        <version>1.6.1</version>

    </dependency>

    </dependencies>

    <build>

    <defaultGoal>compile</defaultGoal>

    </build>

</project>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  idea maven 百度 scala spark