目录
- spark outline
- Saprk flatMap功能
- 案例演示
spark outline
大纲目录
Saprk flatMap功能
扁平化,即让数据打散后放入到一个大集合中( flatMap 函数返回值是一个集合)
案例演示
需求:将 List(List(1, 2), 3, List(4, 5)) 中元素取出,然后输出到控制台,形式如下
12345
package com.xcu.bigdata.spark.core.pg02_rdd.pg022_rdd_transform
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
/**
* @Package : com.xcu.bigdata.spark.core.pg02_rdd.pg022_rdd_transform
* @Desc : 扁平化,即让元素打散
*/
object Spark03_FlatMap {
def main(args: Array[String]): Unit = {
//创建配置文件
val conf: SparkConf = new SparkConf().setAppName("").setMaster("local[*]")
//创建SparkContext,该对象是提交的入口
val sc = new SparkContext(conf)
//创建RDD
val rdd: RDD[Any] = sc.parallelize(List(List(1, 2), 3, List(4, 5)))
//将集合中的数据打散
val resRDD: RDD[Any] = rdd.flatMap(
data => {
data match {
//匹配列表List(1, 2),List(4, 5)
case list: List[_] => list
//匹配3
case n => List(n)
}
}
)
//打印输出
resRDD.collect().foreach(println)
//释放资源
sc.stop()
}
}