
Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机)之上,并兼容现有的Java程序。因此,要安装Scala环境之前,首先需要安装Java的JDK。学习Scala编程语言,将为后续学习Spark和Flink奠定基础。
![]() |
|---|
| 点击这里查看视频讲解:【赵渝强老师】Scala编程语言 |
下面的代码展示了在Spark中如何使用Scala开发一个WordCount程序。
package demo import org.apache.spark.SparkContext import org.apache.spark.SparkConf import org.apache.log4j.Logger import org.apache.log4j.Level object WordCountDemo { def main(args: Array[String]): Unit = { Logger.getLogger("org.apache.spark").setLevel(Level.ERROR) Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF) //本地模式 //val conf = new SparkConf().setAppName("WordCountDemo").setMaster("local") //集群模式 val conf = new SparkConf().setAppName("WordCountDemo") //创建SparkContext val sc = new SparkContext(conf) val result = sc.textFile("hdfs://bigdata111:9000/input/data.txt") .flatMap(_.split(" ")) .map((_,1)) .reduceByKey(_+_) //输出到屏幕 result.collect.foreach(println) //输出到HDFS result.saveAsTextFile("hdfs://bigdata111:9000/output/spark/wc") sc.stop } }
在Flink中也可以使用Scala编程语言,下面的代码也将在Flink中执行一个WordCount程序。
package demo import org.apache.flink.api.scala._ object WordCount { def main(args: Array[String]) { val env = ExecutionEnvironment.getExecutionEnvironment val text = env.fromElements("I love Beijing","I love China", "Beijing is the capital of China") val counts = text.flatMap(_.split(" ")).map((_,1)).groupBy(0).sum(1) counts.print() } }
最后修改时间:2025-12-14 21:29:30
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





