Spark+scala+Idea wordcount 示例
2017-06-20 22:23
323 查看
上篇文章搭建了spark,并给出了java版本的WordCount示例,但是总感觉spark程序用scala语言编写才更好,因为scala语言会让spark程序很简洁,能在很大程度上提高开发效率,下面给出scala版本的WordCount.
在main文件夹下创建scala文件夹,然后将scala文件夹设置成源码文件夹。
选中scala将其设置为Sources
此处若不进行设置,在运行程序的时候将找不到我们的主函数,因为idea并没有编译这个文件。
maven文
然后直接运行main函数即可。在结果输出的路径可以查看到相关文件。
idea项目搭建
首先用idea搭建一个maven工程。在main文件夹下创建scala文件夹,然后将scala文件夹设置成源码文件夹。
右键工程名->open model setting ->Modules
选中scala将其设置为Sources
此处若不进行设置,在运行程序的时候将找不到我们的主函数,因为idea并没有编译这个文件。
maven文
4000
件
<dependencies> <!-- https://mvnrepository.com/artifact/org.scala-lang/scala-library --> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>2.11.11</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core_2.11 --> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> <version>2.1.1</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-mllib_2.11 --> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-mllib_2.11</artifactId> <version>2.1.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql_2.11 --> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.11</artifactId> <version>2.1.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-hive_2.11 --> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-hive_2.11</artifactId> <version>2.1.1</version> </dependency>
scala代码:
import org.apache.spark.SparkConf import org.apache.spark.SparkContext object WordCount { def main(args: Array[String]) { val conf = new SparkConf() conf.setAppName("wordcount") //conf.setMaster("local") val sc = new SparkContext(conf) val line = sc.textFile("/usr/local/hadoop/input") line.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_).saveAsTextFile("/usr/local/hadoop/output") sc.stop() } }
运行代码
在Edit Configurations设置为本地运行,VM options设置如下:-Dspark.master=local
然后直接运行main函数即可。在结果输出的路径可以查看到相关文件。
总结
相比java代码,scala代码更是简洁,java30行的代码scala调用几个函数就完成了,由此可见scala在spark工程中的优势!相关文章推荐
- idea运行spark的wordcount与eclipse运行spark的wordcount示例,及本地运行sparkpi
- IDEA【基本配置1】配置SBT 和 scala 并在spark环境中进行wordcount测试(spark集群运行模式)
- idea+maven+scala创建wordcount,打包jar并在spark on yarn上运行
- idea+maven+scala创建wordcount,打包jar并在spark on yarn上运行(可以使用)
- idea+maven+scala创建wordcount,打包jar并在spark on yarn上运行
- spark 2.2.0 WordCount scala版
- spark wordcount—IDEA
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群-配置Hadoop伪分布模式并运行Wordcount示例(1)
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群-配置Hadoop伪分布模式并运行Wordcount示例(1)
- Spark读取HDFS文件,文件格式为GB2312,实现WordCount示例
- SparkStreaming的WordCount示例及源码分析(三)
- spark小应用一:wordcount,按词频降序(SCALA)
- Eclipse+Maven+Scala Project+Spark | 编译并打包wordcount程序
- idea构建spark开发环境,并本地运行wordcount
- idea利用scala编写wordcount 一些坑
- 010-spark standalone模式Scala版本WordCount代码
- 分别用Java、Scala、spark-shell开发wordcount程序及测试代码
- 启动Spark Shell,在Spark Shell中编写WordCount程序,在IDEA中编写WordCount的Maven程序,spark-submit使用spark的jar来做单词统计
- Spark wordcount - Python, Scala, Java
- spark streaming 接收 kafka 数据java代码WordCount示例