初識大數據(六)-----spark簡介

1、Spark是什麼?
Spark是一個快速且通用的集羣計算平臺
1)快速
Spark擴充了流行的MapReduce的計算模型
Spark是基於內存計算的
2)通用
批處理,迭代式計算,交互查詢和流處理等
3)高度開放
提供了Python,Java,Scala,SQL的API和豐富的內置庫

2、Spark的組件
Spark包括多個緊密集成的組件
在這裏插入圖片描述
1)Spark core

  • 包含Spark 的基本功能,包含任務調度,內存管理,容錯機制等
  • 內部定義了RDDS(彈性分佈式數據集)
  • 提供了很多APIs來創建和操作這些RDDS.
  • 應用場景,爲其他組件提供底層的服務

2)Spark SQL

  • 是Spark處理結構化數據的庫,就像Hive SQL,Mysql一樣
  • 應用場景,企業中用來做報表統計

3)Spark Streaming

  • 是實時數據流組件,類似Storm
  • Spark Streaming提供了API來操作實時流數據
  • 應用場景:企業中用來從kafka接收數據做實時統計

4)Mlib

  • 一個包含機器學習功能的包,Machine Learning lib
  • 包含分類,聚類,迴歸等,包括模型評估和數據導入
  • 支持集羣上的橫向擴展
  • 應用場景:機器學習

5)Graphx

  • 是處理圖的庫(如社交網絡圖),並進行圖的並行計算
  • 像Spark Streaming,Spark SQL一樣,也繼承了RDD的API
  • 提供了各種圖的操作,和常用的圖算法,如:PangeRank
  • 應用場景:圖計算

6)Cluster Managers
集羣管理,Spark自帶一個集羣管理,單獨調度器.

3、Spark的安裝
下載Spark,鏈接如下:
https://www.apache.org/dyn/closer.lua/spark/spark-3.0.0-preview2/spark-3.0.0-preview2-bin-hadoop2.7.tgz
安裝,直接解壓即可

4、Spark的Shell
Spark的Shell,使你能夠處理分佈在集羣上的數據,
Spark把數據加載到節點的內存中,因此分佈式處理可以秒級完成.
快速使迭代式計算,實時查詢,分析一般能夠在shells中完成
Spark提供了python Shells和scala shells

5、SparkShell讀取文件
在這裏插入圖片描述
讀取文件

var lines = sc.textFile("../spark/helloSpark")
lines.count()
lines.first()

欲瞭解更多spark相關的內容,請關注公衆號:架構師Plus
在這裏插入圖片描述

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