Spark教程(2)-Spark概述及相關元件
阿新 • • 發佈:2018-11-21
1.概述
Spark起源於加州大學伯克利分校RAD實驗室,起初旨在解決MapReduce在迭代計算和互動計算中的效率低下問題.目前Spark已經發展成集離線計算,互動式計算,流計算,圖計算,機器學習等模組於一體的通用大資料解決方案.
2.Spark元件
- Spark Core
Spark Core 實現了 Spark 的基本功能,包含任務排程、記憶體管理、錯誤恢復、與儲存系統
互動等模組。
Spark Core 中還包含了對彈性分散式資料集(resilient distributed dataset,簡
稱 RDD)定義。
- SparkSQL
SparkSQL是對計算任務的SQL化封裝,類似於Hive.
支援多種資料來源,如Hive,Json等.
- Spark Streaming
Spark Streaming是Spark的流式計算元件.
- MLlib
機器學習元件,提供了常用的機器學習演算法包.
- GraphX
圖計算元件,提供的圖資料庫和常用的圖演算法包.
- 排程器
支援三種排程器,獨立排程器(Spark自帶)YARN,Mesos.
3.第一個Spark小程式
啟動HDFS,啟動Spark
進入shell
bin/spark-shell
bin/pyspark(Python版)
scala> var lines = sc.textFile("/test/hello.txt") lines: org.apache.spark.rdd.RDD[String] = /test/hello.txt MapPartitionsRDD[5] at textFile at <console>:24 scala> lines.count() res3: Long = 3 scala> lines.first() res4: String = hello Spark!