spark点点滴滴 —— 开发运行scala程序

本文介绍了如何在Spark 2.0.1 on Yarn环境下使用Scala开发和提交任务。详细步骤包括创建IDE工程、编写Scala代码、打包成jar,并提供了Java和Scala版本的LR代码示例,演示了提交命令的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

环境:spark 2.0.1
运行模式:spark on yarn

我们用scala语言编写的程序如何在spark集群上提交任务并运行呢,我们知道一个java程序spark提交命令如下:

spark-submit --class className --name jobName --master yarn-cluster  ./xxx-SNAPSHOT.jar

其中clasName是入口main函数所在类,即程序入口;
jobName是提交的任务名称, ./xxx-SNAPSHOT.jar是程序打包而成的jar文件。

准备

要提交scala程序到spark上,首先我们需要会用IDE编写scala程序。

对于scala程序,简单语法和开发方式如下:
1. 入口main函数通过object关键字对象定义,可以参考scala基础7 —— scala的静态类型(object)
2. 针对scala程序的开发和打包,参考scala —— maven scala项目开发

程序实践

我们采用官网的LR代码示例来演示开发和提交任务,官网代码参见http://spark.apache.org/docs/latest/ml-pipeline.html

创建工程

通过intellij创建一个工程,具体步骤以及配置参见##准备中的第2项,完整的pom.xml配置如下:

 <properties>
        <scala.version>2.11.8</scala.version>
        <spark.version>2.0.1</spark.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>${spark.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-mllib_2.11</artifactId>
            <version>${spark.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.11</artifactId>
            <version>${spark.version}</version>
        </dependency>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>${scala.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值