Spark概要掌握情況自我核查

1蜓竹、Spark目前只持哪哪種語言的API?

Java, Scala, Python, R.
Ref: http://spark.apache.org/

2换吧、RDD執(zhí)行transformation和執(zhí)行action的區(qū)別是什么管引?

1梆靖,transformation是得到一個新的RDD冒签,方式很多在抛,比如從數(shù)據(jù)源生成一個新的RDD,從RDD生成一個新的RDD
2萧恕,action是得到一個值刚梭,或者一個結(jié)果(直接將RDDcache到內(nèi)存中)
所有的transformation都是采用的懶策略肠阱,就是如果只是將transformation提交是不會執(zhí)行計算的,計算只有在action被提交的時候才被觸發(fā)朴读。

從運行層面來看屹徘,Transformation實際上是一種鏈式的邏輯Action,記錄了RDD演變的過程衅金。Action則是實質(zhì)觸發(fā)Transformation開始計算的動作噪伊,由于在每個Transformation的過程中都有記錄,所以每個RDD是知道上一個RDD是怎樣轉(zhuǎn)變?yōu)楫斍盃顟B(tài)的氮唯,所以如果出錯就可以很容易的重新演繹計算過程鉴吹。
Reference:

  1. http://blog.csdn.net/map_lixiupeng/article/details/41958561
  2. http://www.dataguru.cn/thread-588091-1-1.html
  3. http://my.oschina.net/hanzhankang/blog/200275

3、RDD cache默認的StorageLevel級別是什么您觉?

val MEMORY_ONLY = new StorageLevel(false, true, true)!

緩存策略
class StorageLevel private(!
private var useDisk_ : Boolean,!
private var useMemory_ : Boolean,!
private var deserialized_ : Boolean,!
private var replication_ : Int = 1)!
!
!
val NONE = new StorageLevel(false, false, false)!
val DISK_ONLY = new StorageLevel(true, false, false)!
val DISK_ONLY_2 = new StorageLevel(true, false, false, 2)!

val MEMORY_ONLY_2 = new StorageLevel(false, true, true, 2)!
val MEMORY_ONLY_SER = new StorageLevel(false, true, false)!
val MEMORY_ONLY_SER_2 = new StorageLevel(false, true, false, 2)!
val MEMORY_AND_DISK = new StorageLevel(true, true, true)!
val MEMORY_AND_DISK_2 = new StorageLevel(true, true, true, 2)!
val MEMORY_AND_DISK_SER = new StorageLevel(true, true, false)!
val MEMORY_AND_DISK_SER_2 = new StorageLevel(true, true, false, 2)

4拙寡、說明narrow dependency 和 wide dependency的區(qū)別授滓? 從計算和容錯兩方面說明琳水!

摘要: narrow dependency和wide dependency的區(qū)別,從計算和容錯方面說明

根據(jù)不同的transformation操作般堆,RDD的依賴可以分為窄依賴 (Narrow Dependency)和寬依賴(Wide Dependency在孝,在代碼中為ShuffleDependency)兩種類型。
窄依賴指的是生成的RDD中每個partition只依賴于父RDD(s)固定的partition淮摔。
寬依賴指的是生成的RDD的每一個partition都依賴于父 RDD(s)所有partition私沮。
窄依賴典型的操作有map, filter, union(特殊)等
寬依賴典型的操作有groupByKey, sortByKey等。



窄依賴的第一個作用,我的理解是可以不用等上一次操作全部做完和橙,每完成一條記錄就可以進行下次操作仔燕,如map產(chǎn)生一條新紀錄馬上就做filter
那么對于寬依賴,不能順序執(zhí)行魔招,比如groupByKey操作晰搀。它需要等所有的計算map,filter都做完,才能做ByKey的計算办斑。另外外恕,union這個必須要重點提一下。這個操作只能說不一定乡翅,記琢燮!:不一定。為什么這么說呢蠕蚜。尚洽。因為如果你的計算非常少,最后只有一個DAG在計算靶累,那它就是narrow翎朱。橄维。。如果是多個DAG拴曲,那此時必然是wide,必然要做shuffle争舞。
可以看到,寬依賴往往意味著shuffle操作澈灼,這也是Spark劃分stage(任務集)的主要邊界竞川。對于窄依賴,Spark會將其盡量劃 分在同一個stage中叁熔,因為它們可以進行流水線計算委乌。
計算方面:



上圖詳細解釋一下Spark中的Stage劃分。我們從HDFS中讀入數(shù)據(jù)生成3個不同的RDD荣回,通過一系列 transformation操作后再將計算結(jié)果保存回HDFS遭贸。可以看到這幅DAG中只有join操作是一個寬依賴心软,Spark內(nèi)核會以此為邊界將其前 后劃分成不同的Stage. 同時我們可以注意到壕吹,在圖中Stage2中,從map到union都是窄依賴删铃,這兩步操作可以形成一個流水線操作耳贬,通過map操作生成的 partition可以不用等待整個RDD計算結(jié)束,而是繼續(xù)進行union操作猎唁,這樣大大提高了計算的效率咒劲。
而Hadoop的MapReduce更像是寬依賴,所以Spark引入了窄依賴大大提高了計算速度诫隅。
容錯方面:
narrow dependencies的失敗恢復更有效腐魂,因為它只需要重新計算丟失的parent partition即可,而且可以并行地在不同節(jié)點進行重計算逐纬。而wide dependencies牽涉到RDD各級的多個Parent Partitions蛔屹。

Reference:

  1. http://www.dataguru.cn/article-6585-1.html
  2. http://www.flybi.net/question/14203
  3. http://www.cnblogs.com/davidwang456/p/5135884.html

5、下載搜狗實驗室用戶查詢?nèi)罩揪啺妫?a target="_blank" rel="nofollow">http://www.sogou.com/labs/dl/q.html

(63M)风题,做以下查詢:
① ?戶在00:00:00到12:00:00之間的查詢數(shù)判导?
② 搜索結(jié)果排名第一,但是點擊次序排在第二的數(shù)據(jù)有多少沛硅?

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末眼刃,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子摇肌,更是在濱河造成了極大的恐慌擂红,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異昵骤,居然都是意外死亡树碱,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門变秦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來成榜,“玉大人,你說我怎么就攤上這事蹦玫∈昊椋” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵樱溉,是天一觀的道長挣输。 經(jīng)常有香客問我,道長福贞,這世上最難降的妖魔是什么撩嚼? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮挖帘,結(jié)果婚禮上完丽,老公的妹妹穿的比我還像新娘。我一直安慰自己肠套,他們只是感情好舰涌,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布猖任。 她就那樣靜靜地躺著你稚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪朱躺。 梳的紋絲不亂的頭發(fā)上刁赖,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機與錄音长搀,去河邊找鬼宇弛。 笑死,一個胖子當著我的面吹牛源请,可吹牛的內(nèi)容都是我干的枪芒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼谁尸,長吁一口氣:“原來是場噩夢啊……” “哼舅踪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起良蛮,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤抽碌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后决瞳,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體货徙,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡左权,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了痴颊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赏迟。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蠢棱,靈堂內(nèi)的尸體忽然破棺而出瀑梗,到底是詐尸還是另有隱情,我是刑警寧澤裳扯,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布抛丽,位于F島的核電站,受9級特大地震影響饰豺,放射性物質(zhì)發(fā)生泄漏亿鲜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一冤吨、第九天 我趴在偏房一處隱蔽的房頂上張望蒿柳。 院中可真熱鬧,春花似錦漩蟆、人聲如沸垒探。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽圾叼。三九已至,卻和暖如春捺癞,著一層夾襖步出監(jiān)牢的瞬間夷蚊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工髓介, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留惕鼓,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓唐础,卻偏偏與公主長得像箱歧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子一膨,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容