目录
目录
Scala提供了丰富的集合类,包括列表(List)、集合(Set)、映射(Map)等。
这些集合类可以是可变的(mutable)或不可变的(immutable),不可变集合类是函数式编程的基础之一。
2.继续了解信息继,使用map,sortby,collect,faltmap,take等方法举例:
3.unio方法合并然使用filiter,distinct方法过滤去重
1:已存在的RDD调用toDF()方法转换得到DataFrame。
3:创建Dataframe对象,以及显示创建的Dataframe
一. Scala简介:
Scala是一种多范式编程语言,它结合了面向对象编程和函数式编程的特性。
它由Martin Odersky于2003年创建,并于2004年首次发布。
2.基本语法:
变量声明和赋值:使用
val
声明不可变变量,使用var
声明可变变量。scala
Copy code
val x: Int = 10 var y: String = "Hello"
函数定义:可以使用def关键字定义函数。
scala
Copy code
def add(x: Int, y: Int): Int = { x + y }
控制结构:Scala支持if-else、for、while等常见的控制结构。
scala
Copy code
if (x > 0) { println("Positive") } else { println("Negative") } for (i <- 1 to 5) { println(i) }
3.集合:
Scala提供了丰富的集合类,包括列表(List)、集合(Set)、映射(Map)等。
这些集合类可以是可变的(mutable)或不可变的(immutable),不可变集合类是函数式编程的基础之一。
4. 模式匹配:
Scala的模式匹配是其强大特性之一,它可以用于解构数据结构、匹配各种模式等。
可以用于
match
表达式、case
类等。5.类和对象:
Scala是一种面向对象的语言,你可以使用
class
关键字定义类,使用object
关键字定义单例对象。Scala中的类可以有参数化的构造函数、成员变量、方法等。
二:创建RDD要创建一个RDD(Resilient Distributed Dataset,弹性分布式数据集),你首先需要使用 SparkContext 对象来初始化。接下来,你可以从文件、内存中的集合或者其他数据源创建RDD。这里我将演示如何从文件中读取员工资料并创建RDD。
假设我们有一个文本文件 employees.txt,内容如下:
1:用Scala创建RDD的示例代码:
在这个示例中,我们首先创建了一个 SparkConf 对象,指定了应用程序的名称和执行模式。然后使用该配置创建了一个 SparkContext 对象。接着使用 textFile 方法从文件中读取数据并创建RDD。最后,我们使用 foreach 方法打印了RDD中的每一行内容。
你需要确保文件路径是正确的,可以是本地文件系统路径或者HDFS路径,根据你的实际情况进行调整。
2.继续了解信息继,使用map,sortby,collect,faltmap,take等方法举例:
3.unio方法合并然使用filiter,distinct方法过滤去重
4.将储存汇总后的员工工资为文本文件
示例中,我们使用了Scala来处理员工数据,并进行了以下操作:
读取了两个文本文件,每个文件包含了员工的姓名、职位和工资信息。
将文件中的数据转换为RDD,并使用union方法将两个RDD合并成一个RDD。
将合并后的RDD转换为DataFrame,并使用Spark SQL的DataFrame API进行数据处理。
使用groupBy和agg方法计算了每个职位的总工资。
使用orderBy方法对结果按总工资进行排序。
将结果保存为JSON文件和CSV文件,分别使用了write.json和write.csv方法
三:创建DataFrame的两种基本方式:
1:已存在的RDD调用toDF()方法转换得到DataFrame。
2:通过Spark读取数据源直接创建DataFrame。
1.先配置好环境变量等 export/data将文件导入
进入spark-shell
2:将RDD直接转换为DataFrame 改为为自己的名字
进行方法使用