日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Spark精华问答 | 谈谈spark中的宽窄依赖

發(fā)布時間:2024/9/27 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spark精华问答 | 谈谈spark中的宽窄依赖 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

總的來說,Spark采用更先進的架構(gòu),使得靈活性、易用性、性能等方面都比Hadoop更有優(yōu)勢,有取代Hadoop的趨勢,但其穩(wěn)定性有待進一步提高。我總結(jié),具體表現(xiàn)在如下幾個方面。


1

Q:Spark RDD是什么?


A:RDD是Spark的基本抽象,是一個彈性分布式數(shù)據(jù)集,代表著不可變的,分區(qū)(partition)的集合,能夠進行并行計算。也即是說:

它是一系列的分片、比如說128M一片,類似于Hadoop的split;

在每個分片上都有一個函數(shù)去執(zhí)行/迭代/計算它

它也是一系列的依賴,比如RDD1轉(zhuǎn)換為RDD2,RDD2轉(zhuǎn)換為RDD3,那么RDD2依賴于RDD1,RDD3依賴于RDD2。

對于一個Key-Value形式的RDD,可以指定一個partitioner,告訴它如何分片,常用的有hash、range

可選擇指定分區(qū)最佳計算位置


2

Q:RDD的三大Operations


A:Transformation?


從原有的一個RDD進行操作創(chuàng)建一個新的RDD,通常是一個lazy過程,例如map(func) 、filter(func),直到有Action算子執(zhí)行的時候

Action?

返回給驅(qū)動program一個值,或者將計算出來的結(jié)果集導出到存儲系統(tǒng)中,例如count() reduce(func)

Persist?

將數(shù)據(jù)存儲在內(nèi)存中,或者存儲在硬盤中?

例如:cache() persist() unpersist()?

合理使用persist()和cache()持久化操作能大大提高spark性能,但是其調(diào)用是有原則的,必須在transformation或者textFile后面直接調(diào)用persist()或cache(),如果先創(chuàng)建的RDD,然后再起一行調(diào)用這兩個方法,則會報錯

3

Q:Spark和Hadoop的操作模型區(qū)別


A:Hadoop:只提供了Map和Reduce兩種操作所有的作業(yè)都得轉(zhuǎn)換成Map和Reduce的操作。

Spark:提供很多種的數(shù)據(jù)集操作類型比如Transformations 包括map, filter, flatMap, sample, groupByKey, reduceByKey, union, join, cogroup, mapValues,sort,partionBy等多種操作類型,還提供actions操作包括Count,collect, reduce, lookup, save等多種。這些多種多樣的數(shù)據(jù)集操作類型,給開發(fā)上層應(yīng)用的用戶提供了方便。


4

Q:spark RDD有哪些特性?


A:1.A list of partitions:一個分區(qū)列表,RDD中的數(shù)據(jù)都存儲在一個分區(qū)列表中

2.A function for computing each split:作用在每一個分區(qū)中的函數(shù)

3.A list of dependencies on other RDDs:一個RDD依賴于其他多個RDD,這個點很重要,RDD的容錯機制就是依據(jù)這個特性而來的

4.Optionally,a Partitioner for key-value RDDs(eg:to say that the RDD is hash-partitioned):可選的,針對于kv類型的RDD才有這個特性,作用是決定了數(shù)據(jù)的來源以及數(shù)據(jù)處理后的去向

5.可選項,數(shù)據(jù)本地性,數(shù)據(jù)位置最優(yōu)

5

Q談?wù)剆park中的寬窄依賴


A:RDD和它的父RDD的關(guān)系有兩種類型:窄依賴和寬依賴

寬依賴:指的是多個子RDD的Partition會依賴同一個父RDD的Partition,關(guān)系是一對多,父RDD的一個分區(qū)的數(shù)據(jù)去到子RDD的不同分區(qū)里面,會有shuffle的產(chǎn)生

窄依賴:指的是每一個父RDD的Partition最多被子RDD的一個partition使用,是一對一的,也就是父RDD的一個分區(qū)去到了子RDD的一個分區(qū)中,這個過程沒有shuffle產(chǎn)生

區(qū)分的標準就是看父RDD的一個分區(qū)的數(shù)據(jù)的流向,要是流向一個partition的話就是窄依賴,否則就是寬依賴


小伙伴們沖鴨,后臺留言區(qū)等著你!

關(guān)于Spark,今天你學到了什么?還有哪些不懂的?除此還對哪些話題感興趣?快來留言區(qū)打卡啦!留言方式:打開第XX天,答:……

同時歡迎大家搜集更多問題,投稿給我們!風里雨里留言區(qū)里等你~


福利

1、掃描添加小編微信,備注“姓名+公司職位”,加入【云計算學習交流群】,和志同道合的朋友們共同打卡學習!



推薦閱讀:

  • 屢試不爽的互聯(lián)網(wǎng)架構(gòu)三大馬車!

  • 抖音微博等短視頻千萬級高可用、高并發(fā)架構(gòu)如何設(shè)計?

  • 20大5G關(guān)鍵技術(shù)

  • Fast.ai:從零開始學深度學習 | 資源帖

  • 10個簡單小竅門帶你提高Python數(shù)據(jù)分析速度(附代碼)

  • 程序員爬取 3 萬條評論,《長安十二時辰》槽點大揭秘!

  • 暗網(wǎng)竟成比特幣最大用戶? 上半年5.15億美元被用于非法活動


真香,朕在看了!

總結(jié)

以上是生活随笔為你收集整理的Spark精华问答 | 谈谈spark中的宽窄依赖的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。