本篇文章為大家展示了Spark基礎(chǔ)知識點(diǎn)是什么,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括武威網(wǎng)站建設(shè)、武威網(wǎng)站制作、武威網(wǎng)頁制作以及武威網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,武威網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到武威省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
在說Spark之前,筆者在這里向?qū)park感興趣的小伙伴們建議,想要了解、學(xué)習(xí)、使用好Spark,Spark的官網(wǎng)是一個(gè)很好的工具,幾乎能滿足你大部分需求。同時(shí),建議學(xué)習(xí)一下scala語言,主要基于兩點(diǎn):1. Spark是scala語言編寫的,要想學(xué)好Spark必須研讀分析它的源碼,當(dāng)然其他技術(shù)也不例外;2. 用scala語言編寫Spark程序相對于用Java更方便、簡潔、開發(fā)效率更高。書歸正傳,下面整體介紹一下Spark生態(tài)圈。
Apache Spark是一種快速、通用、可擴(kuò)展、可容錯(cuò)的、基于內(nèi)存迭代計(jì)算的大數(shù)據(jù)分析引擎。首先強(qiáng)調(diào)一點(diǎn), Spark目前是一個(gè)處理數(shù)據(jù)的計(jì)算引擎, 不做存儲。首先咱們通過一張圖來看看目前Spark生態(tài)圈都包括哪些核心組件:
本篇文章先簡單介紹一下各個(gè)組件的使用場景,后續(xù)筆者會單獨(dú)詳解其中的核心組件,以下所講均基于Spark2.X版本。
Spark RDD和Spark SQL
Spark RDD和Spark SQL多用于離線場景,但Spark RDD即可以處理結(jié)構(gòu)化數(shù)據(jù)也可以處理非結(jié)構(gòu)數(shù)據(jù),但Spark SQL是處理結(jié)構(gòu)化數(shù)據(jù)的,內(nèi)部通過dataset來處理分布式數(shù)據(jù)集
SparkStreaming和StructuredStreaming
用于流式處理,但強(qiáng)調(diào)一點(diǎn)Spark Streaming是基于微批處理來處理數(shù)據(jù)的,即使Structured Streaming在實(shí)時(shí)方面作了一定優(yōu)化,但就目前而言,相對于Flink、Storm,Spark的流式處理準(zhǔn)備確實(shí)準(zhǔn)實(shí)時(shí)處理
MLlib
用于機(jī)器學(xué)習(xí),當(dāng)然pyspark也有應(yīng)用是基于python做數(shù)據(jù)處理
GraphX
用于圖計(jì)算
Spark R
基于R語言進(jìn)行數(shù)據(jù)處理、統(tǒng)計(jì)分析的
下面介紹一下Spark的特性
快
實(shí)現(xiàn)DAG執(zhí)行引擎,基于內(nèi)存迭代式計(jì)算處理數(shù)據(jù),Spark可以將數(shù)據(jù)分析過程的中間結(jié)果保存在內(nèi)存中,從而不需要反復(fù)的從外部存儲系統(tǒng)中讀寫數(shù)據(jù),相較于mapreduce能更好地適用于機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘和等需要迭代運(yùn)算的場景。
易用
支持scala、java、python、R多種語言;支持多種高級算子(目前有80多種),使用戶可以快速構(gòu)建不同應(yīng)用;支持scala、python等shell交互式查詢
通用
Spark強(qiáng)調(diào)一站式解決方案,集批處理、流處理、交互式查詢、機(jī)器學(xué)習(xí)及圖計(jì)算于一體,避免多種運(yùn)算場景下需要部署不同集群帶來的資源浪費(fèi)
容錯(cuò)性好
在分布式數(shù)據(jù)集計(jì)算時(shí)通過checkpoint來實(shí)現(xiàn)容錯(cuò),當(dāng)某個(gè)運(yùn)算環(huán)節(jié)失敗時(shí),不需要從頭開始重新計(jì)算【往往是checkpoint到HDFS上】
兼容性強(qiáng)
可以運(yùn)行在Yarn、Kubernetes、Mesos等資源管理器上,實(shí)現(xiàn)Standalone模式作為內(nèi)置資源管理調(diào)度器,支持多種數(shù)據(jù)源
上述內(nèi)容就是Spark基礎(chǔ)知識點(diǎn)是什么,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。