people.txt文本如下
lyzx1,19
lyzx2,20
lyzx3,21
lyzx4,22
lyzx5,23
lyzx6,24
lyzx7,25
lyzx7,25,哈哈
托塔天王
import org.apache.spark.{SparkConf, SparkContext}
class Start02 {}
object Start02{
/**
* map 用法深度理解
* 1、在map中使用if-else,if分支结构最好带上else 表示把所有的情况都考虑全 否则会返回默认的空值
* 2、在map中使用case是scala的用法和spark没有关系 同样要使用case 最好带上 case _ 表示所有的情况都考虑完全
* 否则容易出异常
* @param args
*/
def main(args: Array[String]): Unit = {
val sparkConf = new SparkConf()
sparkConf.setAppName("case_test")
sparkConf.setMaster("local[2]")
val sparkContext = new SparkContext(sparkConf)
val rdd = sparkContext.textFile("files/people.txt")
rdd.map(line=>line.split(","))
.map(
line=>if(line.length == 1) (line(0))
else if(line.length == 2) (line(0),line(1))
else (line(0),line(1),line(2))
)
.map{
case (one) => ("one:"+one)
case (name,age) =>("name:"+name,"age:"+age)
case _ => ("_name","_age","_")
}
.foreach(println)
}
}