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

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
Elasticsearch Serverless检索通用型,资源抵扣包 100CU*H
简介: Scala 是一种集成面向对象与函数式编程特性的多范式语言,运行于 Java 平台并兼容 Java 程序。学习 Scala 为掌握 Spark 和 Flink 打下基础。本文通过视频讲解及代码示例,展示如何用 Scala 在 Spark 和 Flink 中实现 WordCount 程序,包括环境配置、数据处理及输出操作,帮助理解其实际应用。

b240.png

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


下面的代码展示了在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()
  }
}


相关文章
|
12月前
|
分布式计算 大数据 Scala
TIOBE 6月榜单出炉!编程语言地位大洗牌,Scala未上榜
【6月更文挑战第24天】Scala在2024年6月的TIOBE编程排行榜上排第31,以其融合面向对象和函数式编程的特点在大数据处理中占有一席之地,特别是在Apache Spark框架中。Scala的特性包括统一的编程范式、简洁语法、类型推断和并发支持。示例代码展示了基础用法和在Spark中的应用,如词频统计。Scala还与Apache Kafka等大数据组件集成,是大数据开发的有力工具。
136 3
|
分布式计算 Java Scala
Spark编程语言选择:Scala、Java和Python
Spark编程语言选择:Scala、Java和Python
Spark编程语言选择:Scala、Java和Python
|
大数据 Scala 开发者
大数据开发基础的编程语言的Scala的迭代器
Scala是一种支持函数式编程和面向对象编程的编程语言,它提供了强大的迭代器(Iterator)功能。本文将介绍Scala中迭代器的概念和用法,帮助开发者更好地理解和应用这门语言。
191 0
|
存储 大数据 Scala
大数据开发基础的编程语言的Scala的Actor编程
当谈到大数据开发时,Scala是一个非常流行的编程语言。Scala是一种静态类型的编程语言,它结合了面向对象和函数式编程范型。Scala为大数据处理提供了强大的支持,因此在许多大数据项目中被广泛使用。其中,Scala的Actor编程模型可以帮助我们设计和实现高效的并发系统。
123 0
|
Java 大数据 Scala
大数据开发基础的编程语言的Scala的基础语法
Scala是一种基于JVM的多范式编程语言,它支持面向对象编程和函数式编程,并具有强大的类型推导机制和静态类型检查。本文将介绍Scala的基础语法,帮助开发者快速入门这门语言。
131 0
|
安全 Java 大数据
大数据开发基础的编程语言的Scala的类型系统
Scala是一种强类型的编程语言,它具有一套完善的类型系统。本文将介绍Scala的类型系统,帮助开发者了解这门语言的类型安全性和灵活性。
125 0
|
Java 大数据 Scala
大数据开发基础的编程语言的Scala的类和对象
Scala是一种基于JVM的编程语言,它支持面向对象编程和函数式编程。本文将介绍Scala中类和对象的概念和用法,帮助开发者更好地理解和应用这门语言。
97 0
|
大数据 Serverless Scala
大数据开发基础的编程语言的Scala的函数和闭包
Scala是一种支持函数式编程的编程语言,它具有强大的函数和闭包功能。本文将介绍Scala中函数和闭包的概念和用法,帮助开发者更好地理解和应用这门语言。
166 0
|
Java 大数据 Scala
大数据开发基础的编程语言的Scala的字符串/数组/集合
Scala是一种基于JVM的编程语言,它支持丰富的字符串、数组和集合操作。本文将介绍Scala中这些数据类型的概念和用法,帮助开发者更好地理解和应用这门语言。
110 0
|
大数据 编译器 Scala
大数据开发基础的编程语言的Scala的Trait
Scala是一种支持面向对象编程和函数式编程的编程语言,它提供了强大的Trait功能。本文将介绍Scala中Trait的概念和用法,帮助开发者更好地理解和应用这门语言。
172 0