- 01_快速玩轉(zhuǎn)Spark系列 _為什么學(xué)習(xí)Spark
- 02_快速玩轉(zhuǎn)Spark系列 _Spark和MapReduce的對(duì)比.mp4
- 03_快速玩轉(zhuǎn)Spark系列 _Spark框架體系
- 04_快速玩轉(zhuǎn)Spark系列 _Spark下載
- 05.快速玩轉(zhuǎn)Spark系列_Spark運(yùn)行模式介紹
- 06.快速玩轉(zhuǎn)Spark系列_Spark集群安裝
- 07.快速玩轉(zhuǎn)Spark系列_Spark程序執(zhí)行流程
- 08.快速玩轉(zhuǎn)Spark系列_Spark相關(guān)名詞解釋
- 09_快速玩轉(zhuǎn)Spark系列_SparkShellLocal
- 10_快速玩轉(zhuǎn)Spark系列_SparkShellCluster
- 12_快速玩轉(zhuǎn)Spark系列_Maven和IDEA下載
- 13_快速玩轉(zhuǎn)Spark系列_Maven安裝
- 14_快速玩轉(zhuǎn)Spark系列_IDEA安裝
- 15_快速玩轉(zhuǎn)Spark系列_IDEA中配置Maven
- 16_快速玩轉(zhuǎn)Spark系列_Scala環(huán)境安裝和IDEA中配置Scala插件
- 17_快速玩轉(zhuǎn)Spark系列_IDEA創(chuàng)建Spark工程
- 18_快速玩轉(zhuǎn)Spark系列_Spark開(kāi)發(fā)WordCount程序
- 19_快速玩轉(zhuǎn)Spark系列_Spark程序打包
- 20_快速玩轉(zhuǎn)Spark系列_Spark集群運(yùn)行打包程序
- 21_快速玩轉(zhuǎn)Spark系列 _RDD概念
- 22_快速玩轉(zhuǎn)Spark系列 _RDD執(zhí)行流程
- 23_快速玩轉(zhuǎn)Spark系列 _RDD屬性
- 24_快速玩轉(zhuǎn)Spark系列 _RDD彈性
- 25_快速玩轉(zhuǎn)Spark系列 _RDD的兩種創(chuàng)建
- 27_快速玩轉(zhuǎn)Spark系列 _Transformation算子
- 28_快速玩轉(zhuǎn)Spark系列 _Action算子
- 29_Transformation算子之Map
- 30_Transformation算子之filter
- 31_Transformation算子之flatMap
- 32_Transformation算子之sample
- 33 Transformation算子之union
- 34 Transformation算子之intersection
- 35 Transformation算子之distinct
- 36 Transformation算子之join
- 37_Transformation算子之leftOuterJoin
- 38_Transformation算子之rightOuterJoin
- 39_Transformation算子之cartesian
- 40_Transformation算子之groupBy
王家林:Spark亞太研究院院長(zhǎng)和首席專家,中國(guó)目前唯一移動(dòng)互聯(lián)網(wǎng)和云計(jì)算大數(shù)據(jù)集大成者。Android架構(gòu)師、高級(jí)工程師、咨詢顧問(wèn)、培訓(xùn)專家;通曉Android、HTML5、Hadoop,迷戀英語(yǔ)播音和健美;致力于Android、HTML5、Hadoop的軟、硬、云整合的一站式解決方案。
Apache Spark是一個(gè)新興的大數(shù)據(jù)處理的引擎,主要特點(diǎn)是提供了一個(gè)集群的分布式內(nèi)存抽象,以支持需要工作集的應(yīng)用。
這個(gè)抽象就是RDD(Resilient Distributed Dataset),RDD就是一個(gè)不可變的帶分區(qū)的記錄集合,RDD也是Spark中的編程模型。Spark提供了RDD上的兩類(lèi)操作,轉(zhuǎn)換和動(dòng)作。轉(zhuǎn)換是用來(lái)定義一個(gè)新的RDD,包括map, flatMap, filter, union, sample, join, groupByKey, cogroup, ReduceByKey, cros, sortByKey, mapValues等,動(dòng)作是返回一個(gè)結(jié)果,包括collect, reduce, count, save, lookupKey。
Apache Spark是一個(gè)圍繞速度、易用性和復(fù)雜分析構(gòu)建的大數(shù)據(jù)處理框架。最初在2009年由加州大學(xué)伯克利分校的AMPLab開(kāi)發(fā),并于2010年成為Apache的開(kāi)源項(xiàng)目之一。
與Hadoop和Storm等其他大數(shù)據(jù)和MapReduce技術(shù)相比,Spark有如下優(yōu)勢(shì)。
首先,Spark為我們提供了一個(gè)全面、統(tǒng)一的框架用于管理各種有著不同性質(zhì)(文本數(shù)據(jù)、圖表數(shù)據(jù)等)的數(shù)據(jù)集和數(shù)據(jù)源(批量數(shù)據(jù)或?qū)崟r(shí)的流數(shù)據(jù))的大數(shù)據(jù)處理的需求。
Spark可以將Hadoop集群中的應(yīng)用在內(nèi)存中的運(yùn)行速度提升100倍,甚至能夠?qū)?yīng)用在磁盤(pán)上的運(yùn)行速度提升10倍。
Spark讓開(kāi)發(fā)者可以快速的用Java、Scala或Python編寫(xiě)程序。它本身自帶了一個(gè)超過(guò)80個(gè)高階操作符集合。而且還可以用它在shell中以交互式地查詢數(shù)據(jù)。
除了Map和Reduce操作之外,它還支持SQL查詢,流數(shù)據(jù),機(jī)器學(xué)習(xí)和圖表數(shù)據(jù)處理。開(kāi)發(fā)者可以在一個(gè)數(shù)據(jù)管道用例中單獨(dú)使用某一能力或者將這些能力結(jié)合在一起使用。
在這個(gè)Apache Spark文章系列的第一部分中,我們將了解到什么是Spark,它與典型的MapReduce解決方案的比較以及它如何為大數(shù)據(jù)處理提供了一套完整的工具。
