首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【赵渝强老师】Scala编程语言

【赵渝强老师】Scala编程语言

原创
作者头像
赵渝强老师
发布2025-05-21 08:08:00
发布2025-05-21 08:08:00
1280
举报
文章被收录于专栏:大数据技术大数据技术

Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机)之上,并兼容现有的Java程序。因此,要安装Scala环境之前,首先需要安装Java的JDK。学习Scala编程语言,将为后续学习Spark和Flink奠定基础。视频讲解如下:

下面的代码展示了在Spark中如何使用Scala开发一个WordCount程序。

代码语言:scala
复制
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程序。

代码语言:scala
复制
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()
  }
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档