【Spark】簡介

    最近學習了spark大數據技術,這裏開始分享本階段的學習心得。作爲個人的【spark】系列,包含了spark的《簡介》,《RDD》,《DataFrame》,《GraphFrame》等板塊。下面進入第一個板塊——《簡介》。部分內容整理自辛立偉老師處

spark是什麼?

    spark是一個用於大規模數據處理的統一分析引擎、它基於hadoop mapreduce 並擴展了mapreduce模型,能用於覆蓋範圍廣泛的工作負載,有效的用於交互式查詢、流處理等更多類型的計算,它能將計算劃分到內存執行,大大提升了程序的處理速度。
    Spark是開源的,其社區也是大數據中最活躍的,有近50多家公司在做貢獻,未來的主流方向趨於流處理和深度學習。它具有特性:
    1.運行速度快,使用DAG執行引擎以支持循環數據流與內存計算;
    2.容易使用,支持使用Scala、 Java、 Python和R語言進行編程, 可以通過Spark Shell進行交互式編程;
    3.通用性,Spark提供了完整而強大的技術棧, 包括SQL查詢、 流式計算、 機器學習和圖算法組件;
    4.可運行於獨立的集羣模式中,可運行在Hadoop中,也可運行於Amazon EC2等雲環境中,並且可以訪問HDFS、Cassandra、 HBase、 Hive等多種數據源。

Spark組件

Spark Core
    • Spark Core是Spark平臺底層通用執行引擎, 所有其他功能都建立在它之上
    • Spark Core提供了內存中的計算和對外部存儲系統中數據集的引用
    • Spark Core中提供了抽象的數據結構RDD
Spark SQL
    • Spark SQL位於Spark Core之上的一個組件
    • 它引入了新的數據抽象: DataFrame和DataSet
Spark Streaming
    • Spark流利用Spark Core的快速調度功能來執行流分析
    • 它以小批量的方式來處理數據, 並在這些小批量數據上執行RDD轉換
MLlib (Machine Learning Library)
    • MLlib是在Spark之上的分佈式機器學習框架.
GraphX
    • GraphX是在Spark之上的分佈式圖處理框架, 它提供了一個用於表達圖計算的API, 可以使用Pregel抽象API對用戶定義的圖進行建模
    • 它還爲這種抽象提供了一個優化的運行時
在這裏插入圖片描述

Spark啓動模式

    Spark 基於yarn的模式:
在這裏插入圖片描述
    Spark Hadoop和Spark的統一部署:
在這裏插入圖片描述

Spark交互方式

    spark的交互方式有很多種:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

Spark VS MapReduce

    spark與傳統MapReduce的比較。
在這裏插入圖片描述
–基本原理
    • MapReduce是基於磁盤的大數據批量處理框架。
    • Spark是基於內存的大數據綜合處理框架。
–應用場景
    • MapReduce可以處理超大規模數據 , 適用於處理具有較少迭代
次數的長任務。
    • Spark適用於處理具有較多迭代次數的任務。
–容錯性
    • MapReduce的數據主要來源於HDFS。 具有完善的容錯機制。
    • Spark 的容錯性都是基於RDD實現的 。

小結

    通過上面文章的介紹,我們知道:
1.spark是一個大規模數據處理的統一分析引擎;
2.spark能夠運行在本地單機模式、spark自帶的簡單資源管理的集羣、其他資源管理的集羣下。
3.spark的交互方式可以是命令行、.jar包、第三方工具。
4.spark本質是MapReduce模型的擴展。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章