spark开发环境搭建(idea和maven)

spark idea maven开发环境的安装网上有很多教程,笔者在此就不过多阐述了,可以参考spark idea maven开发环境配置


结合网友整理的资料,简单总结一下搭建这套开发环境的主要步骤,以及项目中用到的一些不一样的地方:

1.下载,安装idea,spark,scala,maven等;

2.在idea中安装scala插件;

3.新建一个maven工程,在project structure里面设置jdk(project选项里面)和scala sdk(global libraries里面),另外,右击工程名称添加scala框架支持(可以创建scala类等);

4.由于项目需求,需要在spark中部署实时处理和离线处理两个工程,故在工程下再创建两个maven module,命名为streaming和offline,一个用于实时计算,一个用于离线计算,在生产环境中,使用maven单独打两个包提交到spark执行任务;

5.随便挑选一个module,如offline,在src/main/下创建scala目录,并make directory as sources root。在pom文件中引入spark-core相关的依赖,然后新建一个scala的Main Object类 ,编写hello world demo,本地直接运行,成功。
object Main {
  def main(args: Array[String]) {
    val conf = new SparkConf().setAppName("mySpark")
    //setMaster("local") 本机的spark就用local,远端的就写ip
    //如果是打成jar包运行则需要去掉 setMaster("local")因为在参数中会指定。
//    conf.setMaster("local")
    val sc =new SparkContext(conf)
    val rdd =sc.parallelize(List(1,2,3,4,5,6)).map(_*3)
    val mappedRDD=rdd.filter(_>10).collect()
    //对集合求和
    println(rdd.reduce(_+_))
    //输出大于10的元素
    for(arg <- mappedRDD)
      print(arg+" ")
    println()
    println("math is work")
  }
}
6.将offline模块单独使用maven打包jar。在新建的工程pom文件中,还需要额外引入maven和scala的打包相关插件,
<build>
        <plugins>

            <plugin>
                <groupId>org.scala-tools</groupId>
                <artifactId>maven-scala-plugin</artifactId>
                <version>2.15.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19</version>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>

        </plugins>
    </build>
在offline模块下,mvn clean package,打包,上传到spark集群,执行spark-submit命令,如下
spark-submit --class com.xysy.boss.Main --master spark://master:7077 /opt/offline-1.0-SNAPSHOT.jar
运行成功。至此,基本开发环境搭建完毕。
注意:将工程或module打成jar包时,spark相关依赖jar包不需要包含在内,因为spark集群本身已经提供了jar包,打进去文件会变得很大,故在spark相关依赖中加入<scope>provided</scope>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值