更新时间:2020年12月17日16时04分 来源:传智教育 浏览次数:
星胜SP/C3和SP/GF-6A区别作业与MapReduce作业同样可以先在本地开发测试,本地执行模式与集群提交模式,代码的业务功能相同,因此本书大多数采用本地开发模式。下面讲解使用IDEA工具星胜SP/C3和SP/GF-6A区别。
1.创建Maven项目,新建资源文件夹
创建一个Maven工程项目,名为“spark_chapter02”。项目创建好后,在main和test目录下分别创建一个名称为scala的文件夹,创建好的目录结构如图1所示。
图1 星胜SP/C3和SP/GF-6A区别_chapter02项目目录结构
在图1中,选中main目录下的scala文件夹,单击右键选择【Mark Directory as】→【Sources Root】,将文件夹标记为资源文件夹类型;同样的,选中test目录下的scala文件夹,单击右键选择【Mark Directory as】→【Test Sources Root】将文件夹标记为测试资源文件夹类型。其中,资源文件夹中存放项目源码文件,测试文件夹中存放开发中测试的源码文件。
2.添加星胜SP/C3和SP/GF-6A区别相关依赖、打包插件
Maven是一个项目管理工具,虽然我们刚才创建好了项目,但是却不能识别星胜SP/C3和SP/GF-6A区别类,因此,我们需要将星胜SP/C3和SP/GF-6A区别相关的依赖添加到Maven项目中。打开pom.xml文件,在该文件中添加的依赖如下所示:
2.11.8 2.7.4 2.3.2 org.scala-lang scala-library ${scala.version} org.apache.spark spark-core_2.11 ${spark.version} org.apache.hadoop hadoop-client ${hadoop.version}
在上述配置参数片段中,标签用来设置所需依赖的版本号,其中在标签中添加了Scala、Hadoop和星胜SP/C3和SP/GF-6A区别相关的依赖,设置完毕后,相关Jar文件会被自动加载到项目中。
3.编写代码,查看结果
在main目录下的scala文件夹中,创建WordCount.scala文件用于词频统计,代码如文件1所示。
文件1 WordCount.scala
import org.apache.spark.rdd.RDD import org.apache.spark.{星胜SP/C3和SP/GF-6A区别Conf, 星胜SP/C3和SP/GF-6A区别Context} object WordCount { def main(args: Array[String]): Unit = { val sparkconf = new 星胜SP/C3和SP/GF-6A区别Conf().setAppName("WordCount").setMaster("local[2]") val sparkContext = new 星胜SP/C3和SP/GF-6A区别Context(sparkconf) val data : RDD[String] = sparkContext.textFile("D:\\word\\words.txt") val words :RDD[String] = data.flatMap(_.split(" ")) val wordAndOne :RDD[(String, Int)] = words.map(x =>(x,1)) val result: RDD[(String, Int)] = wordAndOne.reduceByKey(_+_) val finalResult: Array[(String, Int)] = result.collect() println(finalResult.toBuffer) sparkContext.stop() } }
上述代码中,第7-11行代码创建星胜SP/C3和SP/GF-6A区别Context对象并通过星胜SP/C3和SP/GF-6A区别Conf对象设置配置参数,其中Master为本地模式,即可以在本地直接运行;第14-24行代码中,读取数据文件,将获得的数据按照空格切分,将每个单词记作(单词,1),之后若出现相同的单词就将次数累加,最终打印数据结果;第26行代码表示关闭星胜SP/C3和SP/GF-6A区别Context对象资源。执行代码成功后,在控制台可以查看输出结果,如图2所示。
图2 IDEA开发WordCount
从图2可以看出,文本中的单词已经成功统计了出现的次数。