IntelliJ IDEA下Maven创建Scala项目的方法步骤

网友投稿 372 2023-01-04


IntelliJ IDEA下Maven创建Scala项目的方法步骤

环境:IntelliJ IDEA

版本:Spark-2.2.1 Scala-2.11.0

利用 Maven 第一次创建 Scala 项目也遇到了许多坑

创建一个 Scala 的 WordCount 程序

第一步:IntelliJ IDEA下安装 Scala 插件

安装完 Scala 插件完成

第二步:Maven 下 Scala 下的项目创建

正常创建 Maven 项目(不会的看另一篇 Maven 配置)

第三步:Scala 版本的下载及配置

通过Spark官网下载页面http://spark.apache.org/downloads.html 可知“Note: Starting version 2.0, Spark is built with Scala 2.11 by default.”,建议下载Spark2.2对应的 Scala 2.11。

登录Scala官网http://scala-lang.org/,单击download按钮,然后再“Other Releases”标题下找到“下载2.11.0

根据自己的系统下载相应的版本

接下来就是配置Scala 的环境变量(跟 jdk 的配置方法一样)

输入 Scala -version 查看是否配置成功 会显示 Scala code runner version 2.11.0 – Copyright 2002-2013, LAMP/EPFL

选择自己安装 Scala 的路径

第四步:编写 Scala 程序

将其他的代码删除,不然在编辑的时候会报错

配置 pom.xml文件

在里面添加一个 Spark

2.11.0

2.2.1

org.apache.spark

spark-core_2.11

${spark.version}

具体的 pom.xml 内容

4.0.0

cn.spark

Spark

1.0-SNAPSHOT

2008

2.11.0

2.2.1

scala-tools.org

Scala-Tools Maven2 Repository

http://scala-tools.org/repo-releases

org.scala-lang

scala-library

${scala.version}

org.apache.spark

spark-core_2.11

${spark.version}

junit

junit

4.4

test

org.specs

specs

1.2.5

src/main/scala

src/test/scala

org.scala-tools

maven-scala-plugin

compile

testCompile

${scala.version}

-target:jvm-1.5

org.apache.maven.plugins

maven-eclipse-plugin

true

ch.epfl.lamp.sdt.core.scalabuilder

ch.epfl.lamp.sdt.core.scalanature

org.eclipse.jdt.launching.JRE_CONTAINER

ch.epfl.lamp.sdt.launching.SCALA_CONTAINER

org.scala-tools

maven-scala-plugin

${scala.version}

&ltwoTbcGT;/project>

编写 WordCount 文件

package cn.spark

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

/**

* Created by hubo on 2018/1/13

*/

object WordCountwoTbcGT {

def main(args: Array[String]) {

var masterUrl = "local"

var inputPath = "/Users/huwenbo/Desktop/a.txt"

var outputPath = "/Users/huwenbo/Desktop/out"

if (args.length == 1) {

masterUrl = args(0)

} else if (args.length == 3) {

masterUrl = args(0)

inputPath = args(1)

outputPath = args(2)

}

println(s"masterUrl:$masterUrl, inputPath: $inputPath, outputPath: $outputPath")

val sparkConf = new SparkConf().setMaster(masterUrl).setAppName("WordCount")

val sc = new SparkContext(sparkConf)

val rowRdd = sc.textFile(inputPath)

val resultRdd = rowRdd.flatMap(line => line.split("\\s+"))

.map(word => (word, 1)).reduceByKey(_ + _)

resultRdd.saveAsTextFile(outputPath)

}

}

var masterUrl = “local”

local代表自己本地运行,在 hadoop 上运行添加相应地址

在配置中遇到的错误,会写在另一篇文章里。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:包含分布式系统接口设计报告的词条
下一篇:接口自动化框架(接口自动化框架有哪些)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~