大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)

本課課程:

  1. Spark源码中的Scala模式匹配编程
  2. Scala中模式匹配编程操作实战

Spark源码中的Scala模式匹配编程
每個 case 里面都是一個函数,如果條件符合了就運行 => 右邊的代碼 (函数體)
大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第1张图片

這里也是模式匹配的例子
大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第2张图片

這個地方匹配的是變量
大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第3张图片

大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第4张图片

大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第5张图片

大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第6张图片

Scala中模式匹配编程操作实战
  1. 對 String 進行模式匹配
    大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第7张图片
  2. 如果沒有 case _ (當匹配不上的時做剛才用的方法) 的話會報異常,可以在模式匹配中加上 if 守卫來加強需要匹配的條件
    大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第8张图片

    這樣就不會報錯啦!
    大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第9张图片

  3. 可以加入一個變量接收傳進來的 String 
    大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第10张图片
    在 => 右邊的函数體里可以輸出剛傳進來的變量
    大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第11张图片
  4. 也可以對類型進行判斷
    大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第12张图片
  5. 可以對數組內容進行模式匹配
    大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第13张图片
  6. case class
    大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第14张图片
    這個是 Spark 中的例子


    然後自己動手寫一個來看看效果!
    大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第15张图片
    大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第16张图片
  7. Some 和 Option 的模式匹配
    大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏(学习笔记)_第17张图片


感谢阅读

Janice


——————————————————————————————–—————————————————————————
Sharing is Good, Learning is Fun.
今天很残酷、明天更残酷,后天很美好。但很多人死在明天晚上、而看不到后天的太阳。 – 马云 Jack Ma

以下是笔记参考来源:
资料来源于: 大数据Spark “蘑菇云”行动前传第13课:Scala模式匹配实战和Spark源码鉴赏
视频来源于: http://www.tudou.com/plcover/rd3LTMjBpZA/

如果您对大数据Spark感兴趣,可以免费听由王家林老师每天晚上20:00开设的Spark永久免费公开课,地址YY房间号:68917580

你可能感兴趣的:(大数据Spark蘑菇云行动)