spark基礎學習

2021-09-26 09:37:35 字數 800 閱讀 9153

1、基礎介紹

spark是基於記憶體的大資料平行計算框架。具有高容錯性所謂高容錯性、高可伸縮性。伸縮性就是可以利用大量廉價的硬體機器進行分布式部署。高容錯性此處引入了血緣依賴在子rdd中儲存了父rdd的相關資訊,當出現問題就可以回溯找到最初的資料,重新執行確保資料不丟失。這時候可以設定快取,尤其是重複使用某個運算元的時候可以使用快取來提高效率。dag有向無環圖,spark在遇到tranfsformation型別操作的時候不會立即執行,而是懶執行,知道遇到action運算元的時候。這個時候就會把這個action運算元開始一直往前回溯,如果遇到的是窄依賴則應用流水線優化,說白話就是不shuffle,直到上乙個aciton之間的運算元都記做dag有向無環圖。而各個寬依賴之間就是乙個stage。stage之間的窄依賴都會進行流水線優化。乙個dag對應乙個spark的job 而其中劃分出來的stage就是當前job中的task,而又由於rdd中可能存在多個分割槽,這個task可能有多個例項來分布式的併發處理這樣減少了task的減少shuffle的過程。

2、spark的shuffle

spark中一旦遇到寬依賴就需要進行shuffle的操作,所謂的shuffle操作其實就是資料的彙總後重分配。因為要資料彙總到一起資料可能會很大就會出現資料傾斜等問題。會降低程式的效能。spark其實也是並不是完全不讀磁碟只是盡量避免而已。同時在早期spark版本會有很多臨時檔案。造成大量檔案的讀寫。再後來1.5之後就只會產生乙個檔案並且經過排序。但是也是各有優缺點排序也是耗時的。甚至個別不需要排序比如計算總數等等吧。

Spark學習筆記 Spark基礎知識

1 rdd表示分布在多個計算節點上的可以並行操作的元素集合,是spark主要的變成抽象。spark streaming 是 spark 提供的對實時資料進行流式計算的元件 spark是乙個用於集群計算的通用計算框架,因此被應用於各種各樣的應用程式 2 從上層來看,每個saprk應用都有乙個驅動器程式...

Spark基礎 基礎學習大綱參考

課程大綱 一 spark 概述 共1課時 1.1 spark 產生背景 包括mapreduce缺陷,多計算框架並存等 1.2 spark 基本特點 1.3 spark 版本演化 1.4 spark 核心概念 包括rdd,transformation,action,cache等 1.5 spark 生...

Spark學習 RDD程式設計基礎

spark上開發的應用程式都是由乙個driver programe構成,這個所謂的驅動程式在spark集群通過跑main函式來執行各種並行操作。集群上的所有節點進行平行計算需要共同訪問乙個分割槽元素的集合,這就是rdd rdd resilient distributed dataset 彈性分布式資...