spark學習筆記

1、Spark官方文檔 - 中文翻譯

http://www.cnblogs.com/BYRans/p/5292763.html#42html

2、Spark入門實戰系列

http://www.cnblogs.com/shishanyuan/p/4699644.htmlnode

3、Spark入門實戰系列--1.Spark及其生態圈簡介編程

一、Spark是加州大學伯克利分校AMP實驗室(Algorithms, Machines, and People Lab)開發通用內存並行計算框架。Spark在2013年6月進入Apache成爲孵化項目,迅速成爲社區的熱門項目,圍繞着Spark推出了Spark SQL、Spark Streaming、MLLib和GraphX等組件,也就是BDAS(伯克利數據分析棧),這些組件逐漸造成大數據處理一站式解決平臺。框架

Spark使用Scala語言進行實現,它是一種面向對象、函數式編程語言,可以像操做本地集合對象同樣輕鬆地操做分佈式數據集(Scala 提供一個稱爲 Actor 的並行模型,其中Actor經過它的收件箱來發送和接收非同步信息而不是共享數據,該方式被稱爲:Shared Nothing 模型)。在Spark官網上介紹,它具備運行速度快、易用性好、通用性強和隨處運行等特色。機器學習

l運行速度快分佈式

Spark擁有DAG執行引擎,支持在內存中對數據進行迭代計算。官方提供的數據代表,若是數據由磁盤讀取,速度是Hadoop MapReduce的10倍以上,若是數據從內存中讀取,速度能夠高達100多倍。函數式編程

l易用性好函數

 

Spark不只支持Scala編寫應用程序,並且支持Java和Python等語言進行編寫,特別是Scala是一種高效、可拓展的語言,可以用簡潔的代碼處理較爲複雜的處理工做。oop

l通用性強學習

Spark生態圈即BDAS(伯克利數據分析棧)包含了Spark Core、Spark SQL、Spark Streaming、MLLib和GraphX等組件,這些組件分別處理Spark Core提供內存計算框架、SparkStreaming的實時處理應用、Spark SQL的即席查詢、MLlib或MLbase的機器學習和GraphX的圖處理,它們都是由AMP實驗室提供,可以無縫的集成並提供一站式解決平臺。

l隨處運行

Spark具備很強的適應性,可以讀取HDFS、Cassandra、HBase、S3和Techyon爲持久層讀寫原生數據,可以以Mesos、YARN和自身攜帶的Standalone做爲資源管理器調度job,來完成Spark應用程序的計算。

 

 

1.6.2 Spark經常使用術語

術語

描述

Application

Spark的應用程序,包含一個Driver program和若干Executor

SparkContext

Spark應用程序的入口,負責調度各個運算資源,協調各個Worker Node上的Executor

Driver Program

運行Application的main()函數而且建立SparkContext

Executor

是爲Application運行在Worker node上的一個進程,該進程負責運行Task,而且負責將數據存在內存或者磁盤上。

每一個Application都會申請各自的Executor來處理任務

Cluster Manager

在集羣上獲取資源的外部服務

(例如:Standalone、Mesos、Yarn)

Worker Node

集羣中任何能夠運行Application代碼的節點,運行一個或多個Executor進程

Task

運行在Executor上的工做單元

Job

SparkContext提交的具體Action操做,常和Action對應

Stage

每一個Job會被拆分不少組task,每組任務被稱爲Stage,也稱TaskSet

RDD

是Resilient distributed datasets的簡稱,中文爲彈性分佈式數據集;是Spark最核心的模塊和類

DAGScheduler

根據Job構建基於Stage的DAG,並提交Stage給TaskScheduler

TaskScheduler

將Taskset提交給Worker node集羣運行並返回結果

Transformations

是Spark API的一種類型,Transformation返回值仍是一個RDD,

全部的Transformation採用的都是懶策略,若是隻是將Transformation提交是不會執行計算的

Action

是Spark API的一種類型,Action返回值不是一個RDD,而是一個scala集合;計算只有在Action被提交的時候計算才被觸發。

相關文章
相關標籤/搜索