zoukankan      html  css  js  c++  java
  • map+case结构使用技巧

    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)
      }
    }
  • 相关阅读:
    JavaBean和Map之间的转化
    java基础Map遍历
    sql server
    android之使用百度地图(1)
    Java基础知识2(字符串)
    Java基础知识1
    DAY12-Java中的类--接DAY10
    DAY11-LocalDate小练习
    DAY10-万物皆对象-2018-2-2
    DAY9-字符串笔记整理2018-1-19
  • 原文地址:https://www.cnblogs.com/itboys/p/10299978.html
Copyright © 2011-2022 走看看