美文网首页
使用IDEA构建Spark应用程序

使用IDEA构建Spark应用程序

作者: 糊涂蟲 | 来源:发表于2018-08-27 16:30 被阅读0次

一、IDEA创建一个maven的工程 

1.选择scala-archetype-simple

工程选择

二、修改pom.xml配置文件

1、修改scala版本、spark版本及hadoop版本

    <properties>

                <scala.version>2.11.8</scala.version>

                <spark.version>2.3.1</spark.version>

                <hadoop.version>2.6.0-cdh5.7.0</hadoop.version>

    </properties>

2、添加hadoop和spark的依赖

<dependency>

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

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

            <version>${spark.version}</version>

</dependency>

hadoop 同spark

3、添加cdh的repository

由于hadoop版本是cdh的,所以需要添加cdh仓库

<repositories>

                <id>cloudera</id>

                <name>cloudera</name>

                <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>

</repositories>

修改完以上配置以后,maven会解析dependency然后下载相关的jar包及源码。如果这一步IDEA没有自动解析下载jar包,可以点开pom.xml,右键 - Maven - Reimport。如果还有红色波浪线报错,可以在右边Maven Prohects - Spark - Lifecycle - clean - Run Maven Build运行一下。

三、wc编程

1、新建一个package  com.ruozedata.sparkG3

2、在package下面新建一个scala类,选择object

3、程序编写

    package com.ruozedata.spark

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

    object WCApp {

    def main(args: Array[String]): Unit = {

    val sparkConf =new SparkConf()

    val sc =new SparkContext(sparkConf)

    val textFile = sc.textFile(args(0))

    val wc = textFile.flatMap(line => line.split("\r")).map((_,1)).reduceByKey(_+_)

    wc.collect().foreach(println)

    sc.stop()

    }

    }

4、打包

Maven Project - Spark - Liftcycle - package右键 - Run Maven Build。打包的过程中会联网下载一些包

打包完会在项目路径下面的target文件夹下面有一个jar包

将该jar包丢到服务器上就可以使用

[hadoop@hadoop001 data]$ spark-submit \

--class com.ruozedata.spark.test.WCApp \

--master local[2] \

 /home/hadoop/lib/sparkG3-1.0-SNAPSHOT.jar \

hdfs://hadoop001:9000/data/wc_input

相关文章

网友评论

      本文标题:使用IDEA构建Spark应用程序

      本文链接:https://www.haomeiwen.com/subject/yerzbftx.html