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

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

mllib app 交互 src stream 大數據 -s 獨立 概述


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!

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