Spark Streaming實時流式大數據處理實戰》 ——1 初識Spark

      網友投稿 717 2022-05-29

      第1篇

      Spark基礎

      (? 第1章? 初識Spark

      《Spark Streaming實時流式大數據處理實戰》 ——1 初識Spark

      (? 第2章? Spark運行與開發環境

      (? 第3章? Spark編程模型

      第1章? 初識Spark

      筆者目前正在使用微軟的Word進行書籍的撰寫。而Word中一個很好用的功能便是拼寫檢查,當發生拼寫錯誤時,會提供一 個列表讓我們選擇。而背后的原理就是Word使用了一份龐大的詞典來進行匹配,類似于專家的人工匹配行為。

      而另一種思路是借用群體智慧,我們在使用谷歌瀏覽器的時候,會遇到一個“你是不是找”的功能模塊,當輸入比較“冷門”的搜索條件時,谷歌瀏覽器會給出一個更加準確的搜索條件,如圖1.1所示。

      圖1.1? 谷歌搜索拼寫糾正

      谷歌就是利用了大數據,當我們輸錯一個詞的時候,在每日海量的搜索數據中,一定有跟我們搜索相同內容的用戶,他們會重新輸入,那么這個重新輸入的詞也許就是我們想要的詞;而另一方面,如果用戶單擊了該詞,說明匹配正確,這樣反饋學習的機制能夠更好地提高拼寫糾正的準確性。

      類似的場景已經融入了人們生活中的方方面面,例如淘寶購物,平臺會根據用戶的購買行為記錄推薦用戶可能感興趣的商品;看新聞,App根據用戶個人行為記錄及群體的觀看記錄,向用戶推薦熱點新聞和用戶感興趣的新聞;社交平臺,根據用戶大量的記錄構建用戶畫像,進行更加精準的廣告投放。

      互聯網時代,社交網絡、電子商務與移動通信將我們的社會推向了一個以PB(1024TB)為單位的結構與非結構數據的新大數據時代。而面對海量的數據我們需要以更加高效的方式進行挖掘與應用,這就提出了大數據處理的需求。前幾年隨著Hadoop的興起,大數據處理一時風起云涌,如圖1.2展示了一個大數據平臺的全景。

      Data一詞源于拉丁語,其本意是要對未來進行預測。這也正反映了大數據處理的核心任務——預測。大數據平臺給我們提供了面對海量數據進行挖掘的能力,將其轉化為生產力并產生價值。

      圖1.2? 大數據平臺全景

      也許有讀者不禁會問:既然Hadoop平臺中Map/Reduce框架的提出在很大程度上解決了大數據的處理問題,那么為什么還會誕生Spark呢?本節就來介紹Spark的由來。

      1.1? Spark由來

      Spark最早源于一篇論文Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing。該論文是由加州大學柏克萊分校的Matei Zaharia等人發表的。論文中提出了一種彈性分布式數據集(即RDD)的概念,原文開頭對其的解釋是:

      A distributed memory abstraction that lets programmers perform in-memory computations on large clusters in a fault-tolerant manner.

      翻譯過來就是:RDD是一種分布式內存抽象,其使得程序員能夠在大規模集群中做內存運算,并且有一定的容錯方式。而這也是整個Spark的核心數據結構,Spark整個平臺都圍繞著RDD進行。之后加州大學柏克萊分校AMPLab將其開發出來。

      Apache Spark是一種針對大規模數據處理的快速通用開源引擎,主要有以下特點。

      * 速度快:由于Apache Spark支持內存計算,并且通過DAG(有向無環圖)執行引擎支持無環數據流,所以官方宣稱其在內存中的運算速度要比Hadoop的MapReduce快100倍,在硬盤中要快10倍,如圖1.3所示。

      圖1.3? 邏輯回歸在Hadoop和Spark中運算速度對比

      * 易于使用:截至筆者完稿時,Spark的版本已經更新到Spark 2.3.1,支持了包括Java、Scala、Python和R語言在內的多種語言。

      * 通用性強:在Spark的基礎上,Spark還提供了包括Spark SQL、Spark Streaming、MLib及GraphX在內的多個工具庫,我們可以在一個應用中無縫地使用這些工具庫。其中,Spark SQL提供了結構化的數據處理方式,Spark Streaming主要針對流式處理任務(也是本書的重點),MLib提供了很多有用的機器學習算法庫,GraphX提供圖形和圖形并行化計算,如圖1.4所示。

      圖1.4? Spark及其工具庫

      * 運行方式:Spark支持多種運行方式,包括在Hadoop和Mesos上,也支持Standalone的獨立運行模式,同時也可以運行在云上。另外對于數據源而言,Spark支持從HDFS、HBase、Cassandra及Kafka等多種途徑獲取數據。

      Spark內部引入了一種稱為彈性分布式數據集的結構(RDD),在數據結構之間利用有向無環圖(DAG)進行數據結構間變化的記錄,這樣可以方便地將公共的數據共享,并且當數據發生丟失時,可以依靠這種繼承結構(血統Lineage)進行數據重建,具有很強的容錯性。

      Spark spark 大數據 大數據

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:關于大數據hadoop的35個科普小知識
      下一篇:JVM學習第一篇思考:一個Java代碼是怎么運行起來的-上篇
      相關文章
      亚洲免费视频一区二区三区| 亚洲男人的天堂在线va拉文| 亚洲国产精彩中文乱码AV| 亚洲人成无码久久电影网站| 久久精品国产亚洲AV未满十八| 亚洲区日韩精品中文字幕| 亚洲一卡2卡3卡4卡乱码 在线| 亚洲一级毛片中文字幕| 亚洲乱码一二三四区乱码| 亚洲精品一二三区| 亚洲性无码AV中文字幕| 色综合久久精品亚洲国产| 妇女自拍偷自拍亚洲精品| 亚洲第一成人影院| 亚洲一级黄色视频| 亚洲精品无码不卡在线播HE| 久久99国产亚洲高清观看首页| 亚洲AV永久无码精品| 亚洲一区二区成人| 亚洲欧洲视频在线观看| 亚洲五月丁香综合视频| 亚洲综合无码无在线观看| 亚洲AV无码AV日韩AV网站| 亚洲成片观看四虎永久| 毛茸茸bbw亚洲人| 亚洲av综合色区| 亚洲日本乱码一区二区在线二产线| 亚洲欧洲精品视频在线观看| 亚洲国产91在线| 亚洲AV综合色区无码一二三区| 亚洲高清无码在线观看| 伊人婷婷综合缴情亚洲五月| 亚洲AV综合色区无码一区爱AV | 亚洲第一区香蕉_国产a| 亚洲精彩视频在线观看| 亚洲中文字幕久久久一区| 狠狠入ady亚洲精品| 伊人久久大香线蕉亚洲 | 亚洲jizzjizz少妇| 亚洲免费在线观看| 久久亚洲AV无码精品色午夜麻|