一、创建工程
1、创建方式一
创建Maven工程
添加Scala框架
创建Scala文件夹,并设置为源代码文件夹
创建包和对象
2、创建方式二
创建scala工程
添加maven框架
创建scala文件夹,并设置为源代码文件夹
创建包和对象
二、pom.xml添加依赖
<dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.11.8 </version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.4.3</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>3.2.0</version>
</dependency>
</dependencies>
三、添加资源文件
在resources目录下创建log4j2.properties,内容如下:
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
四、添加代码如下
package com.soft863
import org.apache.spark.{SparkConf, SparkContext}
object WordCount {
def main(args: Array[String]): Unit = {
//setMaster:指定spark的运行模式,这里指定为本地运行
//local[1]:指定线程数
var conf = new SparkConf().setMaster("local[1]").setAppName("WC")
//打包到linux服务器上执行,或者在windows上执行,需要Hadoop依赖
//conf = new SparkConf().setMaster("spark://master:7077").setAppName("WC")
//创建SparkContext,该对象是提交spark App的入口
val sc = new SparkContext(conf)
excute(sc,"D:\\word.txt","D:\\data\\output1")
}
def excute(sc: SparkContext, source: String, targetFolder: String): Unit = {
sc.textFile(source)
.flatMap(_.split(" "))
.map((_, 1))
.reduceByKey(_ + _)
//指定结果的输出目录,目录不能存在
.saveAsTextFile(targetFolder)
sc.stop()
}
}