mllib逻辑回归 spark_《Spark大数据分析实战》笔记
寫在前面:此書很棒,但需要一定的編程功底,此外強烈建議買書,因為很多架構圖、算子列表,我也不會摘抄下來。
第一章 簡介
1.Spark執行的特點
Hadoop中包含計算框架MapReduce和分布式文件系統HDFS等。
Spark是MapReduce的替代方案,且兼容HDFS, Hive等分布式存儲層,融入Hadoop的生態系統,并彌補MapReduce的不足。
①中間結果輸出
Spark將執行工作流抽象為通用的有向無環圖(DAG)執行計劃,可將多Stage的任務串聯或并行執行,而無須將Stage的中間結果輸出到HDFS中,類似的引擎包括Flink, Dryad, Tez等。
②數據格式和內存布局
RDD: 支持粗粒度的寫操作,但對于讀操作可精確到每條記錄
Spark的特性是能控制不同節點上的分區,用戶可自定義分區策略
③執行策略
Spark執行過程中,不同Stage之間須進行Shuffle
Shuffle是鏈接有依賴的Stage的橋梁,上游Stage輸出到下游Stage必須經過Shuffle
Spark Shuffle支持基于Hash或排序的分布式聚合機制。
④任務調度的開銷
Spark采用了事件驅動的類庫AKKA來啟動人物,通過線程池的復用線程來避免系統啟動和切換開銷
第二章 Spark開發與環境配置
略
第三章 BDAS簡介
1.Spark生態系統BDAS
BDAS是博客里大學提出的基于Spark的數據分析棧。
其框架核心是Spark,同時涵蓋Spark SQL, MLBase, MLlib, GraphX, Spark Streaming, 近似查詢引擎BlinkDB,內存分布式文件系統Techyon, 資源管理框架Mesos等子項目。
①SQL on Spark
AMPLab將大數據分析負載分為三類:批量數據處理、交互式查、實時流處理
據Spark峰會2014上博客里大學的Big Data Benchmark測試結果,Shark in Memory效率是Hive的100倍,即便On Disk也有10倍于Hive的效率。 作為Shark的進化版本, Spark SQL性能更優于Shark。
SQL經過查詢優化其最終轉化為一個執行計劃樹,而Spark SQL還會將這個執行計劃樹轉化為DAG再執行。
整個Catalyst是Spark SQL的調度核心。
②Spark Streaming
Spark Streaming講數據流以時間片為單位分割成RDD,使用RDD處理每一塊數據。
每塊數據(RDD)都會生成一個Spark Job進行處理,最終以批處理的方式處理每個時間片的數據。
Spark Streaming將Dstream操作轉換為Dstream DAG, 對每個時間片,Dstream DAG產生一個RDD DAG。
之后的操作就回歸了Spark主線,Job->JobManager->Spark DAG Scheduler, 最后發給Executor.
③GraphX
GraphX實現了大規模圖計算的功能,是常見的圖算法在Spark上并行化的實現,同時提供了豐富的API。
GraphX的特點是離線計算,批量處理。基于同步的BSP模型(Bulk Synchronous Parallel Computing Model, 整體同步并行計算模型),這樣的優勢在于可以提升數據處理的吞吐量和規模,但是會造成速度上稍遜一籌。
目前大規模圖處理框架還有基于MPI模型的異步圖計算模型GraphLab和同樣基于BSP模型的Graph等。
現在和GraphX可以組合使用的分布式圖數據庫是Neo4J,Neo4J是一個高性能的、菲關系的、具有完全事務特性的、魯棒的圖數據庫。
另一個數據庫是Titan,Titan是一個分布式的圖形數據庫,特別為存儲和處理大規模圖形數據而優化。
GraphX的操作符介紹:本書P46-48
④MLlib
MLlib是構建在Spark上的分布式機器學習庫,充分利用了Spark的內存計算和適合迭代型計算的特性,性能得到優化。
MLlib是AMPLab的在研機器學習項目MLBase的底層組件,MLBase收一個機器學習平臺,MLI是接口層,提供很多結構,MLlib是底層算法實現層。
K-means 算法淺析
https://zhuanlan.zhihu.com/p/20432322
比knn稍微復雜一些,還沒理解更新cluster中心點后,怎樣去更新已有的cluster內數據點
(即牧師每一次移動不可能離所有人都更近,有的人發現A牧師移動以后自己還不如去B牧師處聽課更近,于是每個居民又去了離自己最近的布道點……)
源碼直接看書
第四章 Lamda架構日志分析流水線
TODO
總結
以上是生活随笔為你收集整理的mllib逻辑回归 spark_《Spark大数据分析实战》笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 加载顺序_Java的web.xml组件加
- 下一篇: java微信支付必要参数_微信支付 开发