Spark是什麼?
Spark是一個用來實現快速而通用的集羣計算的平台。擴展了MapReduce,比其更快。Spark可以將各種不同的計算平台簡單且低耗地整合在一起,因此大大減輕了各種平台分別管理的負擔。
Spark提供了豐富的接口,基於Python, Scala,Java提供了簡易的API。此外,Spark可以運行在Hadoop上。
Spark的核心是一個對由很多計算任務組成的、運行在多個工作機器或者是一個計算集羣上的應用進行調度、分發以及監控的計算引擎。
Spark Core,包含了任務調度、內存管理、錯誤回覆、與存儲系統交互等模塊。其中還包含了對彈性分佈式數據集(RDD)的API的定義。
Spark SQL,用來操作結構化數據的程序包。可以使用SQL和HQL查詢。
Spark Streaming,是Spark提供的對實時數據進行流式計算的組件。(流式計算,比實時計算要稍微遲鈍些,但比離線計算又實時的多,而且主要強調的是計算方法。比如,服務器端,有一個值,是記錄小明訂單數量。當小明每買一件東西后,服務端立即發出一個交易成功的事件,該值接收到這個事件後就立即加1。
MLlib,Spark中包含的一個機器學習程序庫。
GraphX, 用來操作圖的程序庫。
Spark的兩大應用:數據科學和數據處理應用。