国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Spark學習筆記:核心概念可視化

大數據 Spark
對于在分布式系統上背景知識較少的人來說,學習Spark并非易事。 即使我已經使用Spark已有一段時間了,但我發現全面了解Spark中的所有核心概念仍然很耗時。 Spark的官方文檔提供了非常詳細的解釋,但更多地側重于實際編程方面。

對于在分布式系統上背景知識較少的人來說,學習Spark并非易事。 即使我已經使用Spark已有一段時間了,但我發現全面了解Spark中的所有核心概念仍然很耗時。 Spark的官方文檔提供了非常詳細的解釋,但更多地側重于實際編程方面。 同樣,大量的在線教程可能會讓您不知所措。 因此,在本文中,我想以更直觀的方式記下那些Spark核心概念。 希望您也會發現它有用!

注意:也許您已經對Hadoop有一定的了解,所以我將跳過對瑣碎事物(例如節點和集群)的解釋。

Spark架構和部署模式

簡而言之,Spark在主工作架構上運行,這是并行任務計算模型的典型類型。 運行Spark時,我們可以選擇幾種模式,即本地(主,執行器,驅動程序都在同一臺JVM機器中),獨立,YARN和Mesos。 在這里,我們僅談論YARN上的Spark以及YARN客戶端和YARN群集之間的區別,因為兩者都是最常用的,但非常令人困惑。

下兩張圖片說明了兩種模式的設置。 它們看起來很相似,不是嗎? 但是,通過查看橙色突出顯示的部分,您可能會注意到細微的差別,這就是Spark驅動程序的位置。 這基本上是兩種模式之間的唯一區別。

 

Spark學習筆記:核心概念可視化

 

Spark學習筆記:核心概念可視化
> Fig 1. Spark deployment mode YARN-client (left) and YARN-cluster (right)

假設您編寫了一個名為spark_hello_world.py的Spark應用程序。 在客戶端模式下,使用spark-submit執行python文件時,驅動程序直接在spark-submit進程內啟動,因此它將與spark_hello_world.py駐留在同一臺計算機上。 初始化Spark上下文時,本地計算機中的驅動程序將連接到群集中的應用程序主機。 從主機開始,Spark啟動了更多執行器。

在群集模式下,spark_hello_world.py代碼位于客戶端計算機中,而客戶端計算機不在群集中。 執行應用程序python代碼時,它將在集群中的一個節點中啟動驅動程序。 與Spark應用程序主文件一起,它可以啟動執行程序并發布應用程序命令。

鑒于設置差別不大,您一定想知道為什么我們需要兩種不同的模式。 在實踐中,這與客戶端計算機與工作計算機在物理上位于同一位置有關。 如果客戶端計算機離工作節點"遙遠",例如 您在筆記本電腦上編寫了spark_hello_world.py,但是工作程序是AWS EC2實例,那么使用群集模式是有意義的,以便最大程度地減少驅動程序和執行程序之間的網絡延遲。 在另一種情況下,如果您的python文件位于與工作節點"非常近"的網關計算機中,則客戶端模式可能是一個不錯的選擇。

 

Spark學習筆記:核心概念可視化

執行者

現在,我們了解了Spark集群的設置,讓我們放大到Spark中最重要的元素之一-執行器。 執行器是運行任務并將數據跨任務存儲在內存或磁盤中的過程。

瀏覽Spark文檔時,您可能會對與執行程序相關的可配置參數數量感到驚訝。 讓我們從視覺上看一下它,而不是一次又一次地嘗試弄清楚一個人的多個參數之間的關系。

 

Spark學習筆記:核心概念可視化
> Fig 2. Spark executor internals

如圖2所示,在每個執行器中都有一個執行器JVM,用于存儲RDD分區,緩存的RDD分區,運行內部線程和任務。 如果內核數量超出任務要求,則JVM中還將有可用的內核。 這個執行器JVM的綠色塊將成為我們研究執行器中的內存管理的起點。

執行程序內存管理

在執行程序容器中,主要分配了兩個內存塊:內存開銷和執行程序內存。

內存開銷是為虛擬機開銷,內部字符串,其他本機開銷等內容預留的堆外內存。通過將數據緩存在主要Java堆空間之外但仍在RAM中的方式,堆外內存可使高速緩存克服冗長的時間 使用大堆大小時,JVM垃圾收集會暫停。

執行器的內存包括以下三個部分。

  • 預留內存
  • 用戶內存:用于在Spark中存儲用戶數據結構和內部元數據等內容。
  • 存儲和執行內存:用于存儲所有RDD分區并為任務分配運行時內存。

圖3顯示了每個存儲塊的相關參數。 假設我們將spark.executor.memory設置為4 GB,那么Spark將向資源管理器請求總共4.4 GB的內存。 在4 GB的執行程序內存中,我們實際上獲得了3.7 GB,因為其余部分已保留。 默認情況下,我們獲得2.2 GB(0.6 * 3.7)作為執行+存儲內存。 其中1.1 GB用于存儲RDD等存儲空間,其余空間用于執行內存。

 

Spark學習筆記:核心概念可視化
> Fig 3. Spark executor memory decomposition

RDD,工作,階段和任務

如果您已經開始使用Spark UI調試Spark應用程序,那么可能很熟悉諸如作業,階段和任務之類的關鍵字。 那么它們與RDD有何關系?

我們知道在RDD上有兩種操作,即轉換(例如,過濾,并集,非重復,交集),這些操作實際上是在沒有實際執行的情況下從現有的RDD中生成一個新的RDD,以及要執行的操作(例如,采取,顯示,收集,foreach) 觸發執行。 轉換RDD時,基于父RDD和轉換后的RDD之間的關系,相關性可以窄或寬。 依賴關系較窄,在父RDD中,一個或多個分區將映射到新RDD中的一個分區。 盡管具有廣泛的依賴性,例如在執行join或sortBy時,但我們需要對分區進行混洗以計算新的RDD。

 

Spark學習筆記:核心概念可視化
> Fig 4–1. narrow dependency in RDD transformation

 

Spark學習筆記:核心概念可視化
> Fig 4–2. Wide dependency in RDD transformation

因此,作業,階段和任務由操作類型和轉換類型確定。 在RDD上執行操作時,將創建一個作業。 在工作中,可能有多個階段,具體取決于我們是否需要執行廣泛的轉換(即洗牌)。 在每個階段中,可以將一個或多個轉換映射到每個執行程序中的任務。

 

Spark學習筆記:核心概念可視化
> Fig 5. Illustration of one Spark job

為了真正理解它,我們來看以下簡單的代碼片段。

 

  1. val RDD1 = sc.parallelize(Array('1''2''3''4''5')).map{ x => val xi = x.toInt; (xi, xi+1) } 
  2. val RDD2 = sc.parallelize(Array('1''2''3''4''5')).map{ x => val xi = x.toInt; (xi, xi*10) } 
  3. val joinedData = RDD2.join(RDD1) 
  4. val filteredRDD = joinedData.filter{case (k, v) => k % 2 == 0} 
  5. val resultRDD = filteredRDD.mapPartitions{ iter => iter.map{ case (k, (v1, v2) ) => (k, v1+v2) } } 
  6. resultRDD.take(2) 

此代碼中包含一些操作,即map,join,filter,mapPartitions和take。 創建RDD時,Spark將分別為RDD1和RDD2生成兩個階段,如階段0和1所示。由于map函數包含一個狹窄的依賴性,因此映射的RDD也將分別包含在階段0和1中。 然后,我們將RDD1和RDD2連接起來,因為連接是包含混洗的廣泛轉換,因此Spark為該操作創建了另一個階段。 之后,filter和mapPartition仍然是第2階段的狹窄轉換,通過調用take(這是一個動作),我們觸發了Spark的執行。

 

Spark學習筆記:核心概念可視化
> Fig 6. DAG visualization

因此,這就是Spark的所有基本內容。 希望在閱讀本文之后,這些概念對您來說更加清楚。 學習愉快!

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2017-01-12 17:28:59

數據分析數據可視化可視化

2020-03-11 14:39:26

數據可視化地圖可視化地理信息

2015-08-20 09:45:56

可視化

2017-02-07 15:54:14

數據可視化數據分析

2020-12-20 17:40:04

機器學習可視化網站算法

2017-10-14 13:54:26

數據可視化數據信息可視化

2022-08-26 09:15:58

Python可視化plotly

2009-04-21 14:26:41

可視化監控IT管理摩卡

2018-03-26 20:04:16

深度學習

2018-03-26 20:07:25

深度學習

2022-08-18 11:36:16

可視化JavaScript事件循環

2015-08-20 10:06:36

可視化

2020-09-18 16:37:59

數據可視化技術Python

2018-03-27 22:40:59

深度學習

2019-03-05 09:20:47

Vim可視化模式命令

2014-01-17 10:36:39

2020-09-27 11:15:37

可視化PandasPython

2015-08-20 10:00:45

可視化

2025-10-10 07:00:00

Python數據可視化數據分析

2010-07-27 15:42:18

AdobeFlex
點贊
收藏

51CTO技術棧公眾號

91精品国产综合久久香蕉麻豆 | 亚洲免费观看高清完整 | 成色在线视频| 成人永久免费视频| 亚洲国产成人精品女人久久久| 成人video亚洲精品| 亚洲欧洲一区二区三区| www久久日com| 欧美激情综合色| 日本午夜精品视频在线观看| 亚洲精品影院| 奇米777国产一区国产二区| 亚洲片av在线| 神马午夜伦理不卡 | 免费人成网站在线观看欧美高清| 91精品免费看| 欧美午夜电影在线观看 | 日本久久久网站| 成人小视频免费在线观看| 黄网在线免费| 亚洲综合一区二区不卡| 久久国产三级精品| 裸模一区二区三区免费| 成人在线亚洲| 国产综合av一区二区三区| 一区二区三区四区五区精品视频| 影音先锋男人的网站| 亚洲三级电影网站| 精品国产一区二区三区久久久樱花| 五月天婷婷在线视频| 亚洲欧洲一区二区在线观看| 亚洲国产精品久久久久秋霞蜜臀 | 盗摄精品av一区二区三区| 一级黄色av| 欧美一区日本一区韩国一区| 午夜不卡视频| 久久亚洲成人精品| 国产三级视频在线看| 色吧影院999| 国产在线更新| 一区二区三区日韩精品| 国风产精品一区二区| 亚洲激情二区| 久久久亚洲国产| 国产人妖一区| 欧美三级资源在线| 先锋成人av| 婷婷综合另类小说色区| 91精品入口| 色妞在线综合亚洲欧美| 日本成人免费网站| 91在线你懂得| 成人在线观看www| 国产精品mm| 激情五月综合色婷婷一区二区| 国产三区在线成人av| 精品无码一区二区三区爱欲| 懂色av一区二区三区免费观看| 国产精品久久中文字幕| 99国产精品久久久久久久久久久| 色欲av无码一区二区人妻| 日本一区二区三区久久久久久久久不 | 欧美精品日韩精品| 超碰资源在线| 久久99精品久久久久久琪琪| 欧美18免费视频| 91在线色戒在线| 蜜桃传媒麻豆第一区在线观看| 日本丰满少妇黄大片在线观看| 91蝌蚪porny九色| 黄色污网站在线免费观看| 欧美日韩一区二区三区视频| 中文字幕成在线观看| 欧美日韩成人在线视频| 欧美系列电影免费观看| 国产精品一国产精品最新章节| 九色|91porny| 日韩大片一区二区| 在线观看91视频| 美女写真久久影院| 国产精品免费网站| 久久久青草婷婷精品综合日韩| 成人午夜视频在线观看免费| 亚洲精品水蜜桃| 国产第一页在线视频| 欧美美最猛性xxxxxx| 欧美不卡视频| 成人免费视频91| 精品女同一区二区三区在线播放| av电影在线免费| 2023亚洲男人天堂| 亚洲在线成人| 欧美日韩亚洲一二三| 在线观看欧美精品| 精品伊人久久| 久热这里只精品99re8久 | 男人的j进女人的j一区| 欧美 日韩精品| 制服丝袜亚洲色图| 大伊香蕉精品在线品播放| 久草精品电影| 中文字幕久久午夜不卡| av片在线免费观看| 97精品在线视频| 美女www一区二区| 亚洲无限乱码一二三四麻| 色噜噜亚洲精品中文字幕| 在线成人www免费观看视频| 玩弄中年熟妇正在播放| 欧美日本乱大交xxxxx| 日韩在线黄色| 国产一级大片免费看| 色久优优欧美色久优优| 视频精品国内| 日本美女爱爱视频| 欧美一卡二卡三卡| 亚洲综合小说| 三级黄色的网站| 中文字幕日韩专区| 日韩av在线播放中文字幕| 亚洲成人基地| 97婷婷大伊香蕉精品视频| 国产馆精品极品| 麻豆网站在线免费观看| 国产精品你懂得| 久久久久久一级片| 成人性生活视频| 日韩三级电影网站| 欧美精品高清视频| 欧美久久99| 青青草在线免费视频| 国产成人在线精品| 亚洲国产精品成人综合| 欧美一区 二区 三区| 日韩欧美一区二区三区四区| 欧美日韩在线亚洲一区蜜芽| 久久精品国内一区二区三区水蜜桃| 亚洲免费看av| 欧美精品在线视频观看| 成人18精品视频| 欧美舌奴丨vk视频| 中文字幕99| 亚洲欧美一区二区三区四区| 麻豆精品一区二区| 高清在线视频不卡| 伊人再见免费在线观看高清版| 精品视频在线导航| 国产电影一区在线| 精品国模一区二区三区| 男人天堂新网址| 一区二区三区精品99久久| 国产高清精品久久久久| 中文字幕在线看片| 久久www视频| 最新日韩中文字幕| 成人av电影在线| 国产一区二区三区视频在线| 久久国产亚洲精品无码| www国产91| 久久综合狠狠综合久久激情| 伊人久久大香伊蕉在人线观看热v| 国产精品毛片一区视频| 美女精品久久久| 91麻豆精品国产91久久久久| 中文字幕欧美国产| 成人免费看黄yyy456| 你懂的成人av| 蜜桃a∨噜噜一区二区三区| 电影一区电影二区| 好吊日视频在线观看| 中文字幕在线免费观看| 国产真实生活伦对白| 波多野结衣乳巨码无在线| 婷婷五月色综合| 精品免费二区三区三区高中清不卡| 久久久久久一区二区三区 | 欧美国产日韩二区| 91精品国产欧美一区二区成人| 国产精品系列在线| 欧美在线高清| 亚洲精品aⅴ| 韩日精品一区| jizz欧美| 盗摄系列偷拍视频精品tp| 96sao精品免费视频观看| 久久动漫网址| 福利一区二区免费视频| 日韩视频在线一区二区三区| 欧美性xxxxxxxxx| 国产一级大片| 999热视频在线观看| 91麻豆精品国产自产在线| 麻豆精品在线播放| 中文字幕久久精品一区二区| 中文字幕校园春色| 久久精品日产第一区二区三区精品版| 精品视频在线观看日韩| 国产片一区二区三区| 欧美精品黄色| 日韩三区免费|