2013年8月8日 星期四

第一次玩Spark Shark 就上手 - 簡介篇

圖片來源:自行整理 (這隻鯊魚看起來比較威~XD)

這次要介紹的就在上一篇 Hadoop / Haddop like framework and ecosystem project 文章中有提到的Shark 和 Spark。

SharkSpark 都是屬於  Berkeley amplab BDAS. the Berkeley Data Analytics Stack  中的子系統,BDAS 的目標就是要打造一套與現有Hadoop 相容,卻又速度更快,更方便使用的系統,然後每一個子系統都可以單獨運作,整個BDAS架構如下圖所示:



BDAS是 Berkeley amplab 負責執行總經費達三千萬美金的龐大計畫(不知道對美國來說算是普通而已?),經費來源一半政府,一半業界 ,預計執行六年,目前已經執行到一半,已經產出相對穩定的專案有三個:
  

Mesos


整個BDAS的最底層用來管理Cluster 的Framework 地位等同於Hadoop2 的 YARN,特色就是可以用來管理各種不同的Cluster 包含Hadoop、Spark、MPI...等。

(目前已經是Apache 的top-level project)

Spark 


有別於Hadoop 的Disk-based MapReduce,Spark 強調的是in-memory cluster computing,號稱比Hadoop快100倍,並且有以下特點:

1. 是以Scala 撰寫 (但是有支援Scala Java 和 Python)
2. 以Resilient Distributed Dataset (RDD) 的方式達到Distributed memory layer for sharing.
3. Compatible with Hadoop Storage API,可以無縫介接Hdfs 、S3...等

(目前還在Apache incubator 階段) 

Shark


架構在Spark之上用來取代Hive ,也號稱比Hive快上30 倍以上,主要的特色就是Compatible with Hive 語法,Shark 可以直接吃Hive 的metastore 資料,也可以直接下HiveQL 去query 資料。


接下來我預計會陸續整理筆記(如果我沒偷懶...)


    PS. 有空可以去看Spark 和Shark 的Source code ...目前市面上聽到新架構新套件他全都用上了akka、spray、netty...等,絕對令人大開眼界...:P


    延伸閱讀:

    [1] An Introduction to the Berkeley Data Analytics Stack (BDAS) Featuring Spark, Spark Streaming, and Shark
    [2] Introduction to Spark, Shark, BDAS and AMPLab
    [3] Transforming Big Data with Spark and Shark - AWS Re:Invent 2012 BDT 305
    [4] Shark: Real-time queries and analytics for big data 
    [5] Spark隨談 (一) - 總體架構

    張貼留言