1. 程式人生 > >Spark教程(2)-Spark概述及相關元件

Spark教程(2)-Spark概述及相關元件


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!