大資料學習筆記之三十 Spark介紹之一

2021-07-27 03:32:18 字數 2186 閱讀 4950

spark簡介

主要用來加快資料分析的執行和讀寫速度

基於mapreduce演算法實現的分布式計算,在擁有hadoop mapreduce所有優點的基礎上,其任務的中間結果還可以儲存在記憶體中,查詢速度快

處理迭代演算法(機器學習、圖挖掘演算法)和互動式資料探勘演算法方面具有較大優勢

核心概念是rdd,彈性分布式資料集

彈性,在計算過程中,當遇到記憶體不足時,它可以與硬碟進行資料交換,雖然在某種程度上程式要降低效能,但可以保證計算的順利進行

分布式的,它可以分布在多台機器上進行平行計算

表示已分割槽、不可改變的能夠被並行操作的資料集合

rdd資料集的操作結束都可以儲存至記憶體,下乙個操作內容從記憶體中讀取

不同的資料格式對應不同的rdd

bdas

大資料時代資料處理目標

通過對歷史資料低延時互動式處理,從而更快地作出決策,例如乙個站點緩慢的原因

通過對流式資料的快速處理,從而可以作出實時決策,例如實時監測並阻止蠕蟲

通過對複雜資料的處理,從而作出更好、更準確的決策,例如異常檢測、趨勢分析等

常見的開源分析棧

主要關注儲存在磁碟上的大型資料集,雖然在批處理上具有較多的優化,但處理速度相對較慢

目標是將批處理、互動式處理和流處理在乙個堆疊中實現,能夠比較容易地開發複雜的演算法,並且與目前開源的hadoop/hdfs相相容

結構資源管理層

實現基礎設施框架的共享、資料中心的多級程式

資料管理層

基礎框架間有效的資料共享

資料處理層

記憶體資料處理以及處理的時間、質量和成本

應用層主要包括新的應用

rdd在保留mapreduce等資料流模型框架的優點同時(自動容錯、本地優化分配、可擴充套件性),使得使用者可以明確地將一部分資料快取在記憶體中,以加速這部分資料之後的查詢和計算過程

提供了一種高度限制的共享記憶體,但是這些限制可以使得自動容錯的開支變得很低

使用一種稱為血統的容錯機制,即每乙個rdd都包含關於它是如何從其他rdd變換過來的以及如何重建某一塊資料的資訊

通用的迭代平行計算的框架,使得使用者能夠顯示地控制計算的中間結果,然後將其自由地運用於之後的計算

基本概念

唯讀、分割槽記錄的集合。rdd只能基於在穩定物理儲存中的資料集和其他已有的rdd上執行確定性操作來建立

rdd不需要物化,rdd含有如何從其他rdd衍生出本rdd的相關資訊,據此可以從物理儲存的資料計算出相應的rdd分割槽

依賴的分類

narrow dependency

如果rdd的每個分割槽最多只能被乙個child rdd的乙個分割槽使用

可以支援在同乙個cluster node上以管道形式執行多個命令

恢復更加有效,只需要重新計算丟失的父分割槽就行,而且可以並行地在多個節點進行重計算

wide dependency

如果多個child rdd分割槽都可以依賴

需要所有父分割槽都是可用的,可能還需要呼叫類似mapreduce的操作進行跨節點傳遞

乙個rdd可以包含多個分割槽,每個分割槽就是乙個dataset片段,rdd可以相互依賴

和分布式共享記憶體dsm的對比

rdd限制應用執行批量寫操作,這樣有助於實現有效的容錯

落後的任務,rdd可以通過備份的任務進行處理

sparksql

sparksql對sql的處理和關係型資料庫對sql語句的處理方法類似

處理過程

先講sql語句進行解析,形成乙個tree

後面的繫結、優化等過程都是對語法樹進行的操作,操作的方法是採用rule

通過模式匹配,對不同型別的節點採用不同的操作,在整個sql語句處理過程中,語法樹和rule相互配合,完成了解析、繫結、優化、物理計畫等過程,最終生成可以執行的物理計畫

mllib

是spark對常用的機器學習演算法的實現庫,也包括相應的測試和資料生成器

支援四種常見的機器學習問題

二元分類

回歸協同過濾

聚類乙個底層下降優化基礎演算法

支援的演算法

基本統計

概要統計

相關分析

分層取樣

假設檢驗

隨機資料生成

分類與回歸

線性模型

決策樹樸素貝葉斯

協同過濾

最小二乘法

聚類k-means

降維奇異值分析

主成分分析

特徵提取及轉換

大資料學習筆記 spark資源排程

val works new hashset workinfo 儲存worker節點資源資訊 val waitingdrivers new arraybuffer driverinfo 儲存driver節點申請的資源資訊 val works new hashsetworkinfo works 集合採用...

大資料學習筆記(六) Spark的RDD

建立 rdd是spark中的資料集,是唯讀的 rdd可以從集合,普通檔案系統,hdfs檔案系統中建立 scala建立rdd的方法 val lines1 sc.parallelize list aa bb val lines2 sc.textfile file opt spark readme.md ...

學習筆記(三十)

data cur type cursor,table spfli type table of spfli,wa spfli type spfli.start of selection.open cursor cur for select from spfli where cityto new yor...