spark 的簡介

mcxiaoracle發表於2022-07-25
  • 由於Spark採用Scala語言進行開發,因此,建議採用Scala語言進行Spark應用程式的編寫。Scala是一門現代的多正規化程式語言,平滑地整合了物件導向和函式式語言的特性,旨在以簡練、優雅的方式來表達常用程式設計模式。Scala語言的名稱來自於“可伸展的語言”,從寫個小指令碼到建立個大系統的程式設計任務均可勝任。Scala執行於Java平臺(JVM,Java 虛擬機器)上,併相容現有的Java程式。


在實際應用中,大資料處理主要包括以下三個型別:

    複雜的批次資料處理:時間跨度通常在數十分鐘到數小時之間;

    基於歷史資料的互動式查詢:時間跨度通常在數十秒到數分鐘之間;

    基於實時資料流的資料處理:時間跨度通常在數百毫秒到數秒之間。

  Spark專注於資料的處理分析,而資料的儲存還是要藉助於Hadoop分散式檔案系統HDFS、Amazon S3等來實現的。





Spark的生態系統主要包含了Spark Core、Spark SQL、Spark Streaming、MLLib和GraphX 等元件,各個元件的具體功能如下:
      Spark Core:Spark Core包含Spark的基本功能,如記憶體計算、任務排程、部署模式、故障恢復、儲存管理等。Spark建立在統一的抽象RDD之上,使其可以以基本一致的方式應對不同的大資料處理場景;通常所說的Apache Spark,就是指Spark Core;
     Spark SQL:Spark SQL允許開發人員直接處理RDD,同時也可查詢Hive、HBase等外部資料來源。Spark SQL的一個重要特點是其能夠統一處理關係表和RDD,使得開發人員可以輕鬆地使用SQL命令進行查詢,並進行更復雜的資料分析;
     Spark Streaming:Spark Streaming支援高吞吐量、可容錯處理的實時流資料處理,其核心思路是將流式計算分解成一系列短小的批處理作業。Spark Streaming支援多種資料輸入源,如Kafka、Flume和TCP套接字等;
      MLlib(機器學習):MLlib提供了常用機器學習演算法的實現,包括聚類、分類、迴歸、協同過濾等,降低了機器學習的門檻,開發人員只要具備一定的理論知識就能進行機器學習的工作;
      GraphX(圖計算):GraphX是Spark中用於圖計算的API,可認為是Pregel在Spark上的重寫及最佳化,Graphx效能良好,擁有豐富的功能和運算子,能在海量資料上自如地執行復雜的圖演算法。



推薦閱讀:

https://www.cnblogs.com/ywqtro/p/14254435.html



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69949806/viewspace-2907538/,如需轉載,請註明出處,否則將追究法律責任。

相關文章