spark用到scala
一柴灯、spark產(chǎn)生背景
MapReduce 局限性
僅支持map和reduce兩種語義操作
處理效率低卖漫,耗費(fèi)時(shí)間長(zhǎng)
不適合處理迭代計(jì)算、交互式處理赠群、實(shí)時(shí)流處理等
更多的應(yīng)用于大規(guī)模批處理場(chǎng)景
計(jì)算框架種類多羊始,選型復(fù)雜
希望能簡(jiǎn)化技術(shù)選型,在一個(gè)統(tǒng)一的框架下乎串,能夠完成批處理等
二店枣、spark工作原理
1叹誉、Spark簡(jiǎn)介
Spark提供多種運(yùn)行模式
2、Spark特點(diǎn)
計(jì)算高效
通用易用
提供豐富開發(fā)api,支持scala闷旧、java长豁、python 郭计、R開發(fā)語言
集成批處理馆铁、流處理泣特、交互式計(jì)算、機(jī)器學(xué)習(xí)算法挑随、圖計(jì)算
運(yùn)行模式多樣
3状您、Spark核心概念-RDD
RDD-彈性分布式數(shù)據(jù)集(Resilient Distributed Datasets)
Spark基于RDD進(jìn)行計(jì)算
分布在集群中的只讀對(duì)象集合(由多個(gè)Partition構(gòu)成)
可以存儲(chǔ)在磁盤或內(nèi)存中
可以通過并行轉(zhuǎn)換操作構(gòu)造
失效后自動(dòng)重構(gòu)
4、RDD操作
1)Transformation
? ? ? ? ? ? ? 將Scala集合或者Hadoop數(shù)據(jù)集構(gòu)造一個(gè)新的RDD
? ? ? ? ? ? ? 通過一有的RDD產(chǎn)生新的RDD
? ? ? ? ? ? ? 只記錄轉(zhuǎn)換關(guān)系兜挨,不觸發(fā)計(jì)算
? ? ? ? ? ? ? 如Map膏孟、filter等。
2)Action