1. 程式人生 > >蝸龍徒行-Spark學習筆記【一】初識Spark形成、演進、發展

蝸龍徒行-Spark學習筆記【一】初識Spark形成、演進、發展

【一】Hadoop版本演進過程

           由於Hadoop1.X 以前版本在 MapReduce 基本構架的設計上存在作業主控節點(JobTracker)單點瓶頸、作業執行延遲過長、程式設計框架不靈活等較多的缺陷和不足,2011 年 10 月,Hadoop 推出了基於新一代構架的 Hadoop0.23.0 測試版,該版本系列最終演化 為Hadoop2.0 版 本, 即 新 一 代 的 Hadoop 系 統 YARN。2013 年 10 月 YARN 已經發展出 Hadoop2.2.0 穩定版。

【二】何為平行計算框架Mapreduce?

                  MapReduce 作為一個平行計算框架,它提供了一個包含 Map 和 Reduce 兩階段的並行處理模型和過程,提供了一個並行化程式設計模型和介面,讓程式設計師可以方便快速地編寫出大資料並行處理程式。

【三】何為Spark?

            Spark 是基於 map reduce 演算法實現的分散式計算框架,但不同的是 Spark 的中間輸出和結果輸出可以儲存在記憶體中,從而不再需要讀寫 HDFS,因此 Spark 能更好地用於資料探勘與機器學習等需要迭代的 mapreduce 的演算法中。 Spark 作為一套用 scala 寫成的分散式記憶體計算系統,很好地結合了分散式系統和函式式語言。Spark 的獨門祕籍便是“打造結構上一體化、功能上多元化的高效資料流水線。”

【四】Spark相比於Hadoop所具有的優勢?

            快速:基於 Spark 記憶體的計算比 Hadoop MapReduce 快 100 倍以上,基於磁碟的計算也要快10 倍以上。

            易用:提供多語言(包括 scala,java,python)API,能夠快速實現應用,相比 MapReduce 有更簡潔的程式碼,安裝部署也無需複雜的配置。使用 API 可以輕鬆地構建分散式應用程式,當然也可以使用 Scala 和 Python 指令碼進行互動式程式設計。
            通用:提供了一個強大的技術棧,包括查詢語言 Spark SQL, 機器學習工具 MLlib,圖計算工具 GraphX,實時流處理工具 Spark Streaming,在同一個應用程式可以把這些框架進行無縫的連線使用,而 Hadoop 的技術棧則相對獨立也較為複雜,各個框架都是獨立的系統,給整合帶來很大的複雜性和不確定性,而 Spark 目的在於構建一個結構上一體化、功
能上多元化高效資料流水線技術棧。

            整合Hadoop:Spark 可以執行在第二代 Hadoop 叢集管理 Yarn 上,這使得 Spark 可以讀取Hadoop 任何資料,如果你已經有第二代 Hadoop 叢集,那麼你無需安裝則可以直接執行Spark,Spark 很容易執行在 standalone 或者 EC2 或者 Mesos 上。它能讀取 HDFS, HBase,Cassandra 以及任何 Hadoop 資料來源。

參考資料:【Spark專刊】Spark最佳學習路徑(作者:黃忠)









相關推薦

-Spark學習筆記初識Spark形成演進發展

【一】Hadoop版本演進過程            由於Hadoop1.X 以前版本在 MapReduce 基本構架的設計上存在作業主控節點(JobTracker)單點瓶頸、作業執行延遲過長、程式設計框架不靈活等較多的缺陷和不足,2011 年 10 月,Hadoop 推出

-Spark學習筆記Spark叢集中使用spark-submit提交jar任務包實戰經驗

一、所遇問題        由於在IDEA下可以方便快捷地執行scala程式,所以先前並沒有在終端下使用spark-submit提交打包好的jar任務包的習慣,但是其只能在local模式下執行,在網上搜了好多帖子設定VM引數都不能啟動spark叢集,由於實驗任務緊急只能暫時

-Spark學習筆記IDEA中叢集執行模式的配置

問題現象 在IDEA中執行sparkPI,報錯: Exception in thread “main” org.apache.spark.SparkException: A master URL must be set in your configurati

spring boot 2.1學習筆記 新特性介紹

搭建springboot2.X工程 本系列文章IDE都是用的是IntelliJ IDEA,springboot版本採用2.1.1 1.基於 Java 8,支援 Java 9,這意味著不可以使用JDK7 或更舊的版本執行SpringBoot2. 2.支援 Quar

cocos2d-x學習筆記建立自己的場景類

本帖首發於自己新建的論壇網站:計算機專業學習網,www.hua2buxie.cn。有很多不懂,寫的也不好,望大家見諒!歡迎大家去我的網站發帖留言或者發教程。 背景:前段時間才開始學習cocos2d-x

TDD學習筆記Unit Test - Stub, Mock, Fake 簡介

-i moc load customers eight foreach 存在 執行 repo 這篇文章簡介一下,如何通過 mock framework,來輔助我們更便利地模擬目標對象的依賴對象,而不必手工敲堆只為了這次測試而存在的輔助類型。 而模擬目標對象的部分,常見的有

Docker學習筆記安裝Redis

art port 再次 dock 使用 contain bash Go red 項目中使用到Redis,平常都是別人搭建的,今天試著在Google Cloud Platform 上搭建一個學習環境。 1.使用 docker pull redis 從docker hub中下載

system generator學習筆記01

分享 基本功 hle ima 安裝 分享圖片 use 內容整理 blank 作者:桂。 時間:2018-05-18 18:26:50 鏈接:http://www.cnblogs.com/xingshansi/p/9045914.html 前言 學習使用s

響應式布局學習筆記1----基礎知識

網頁設計 water com 文章 tar 屏幕分辨率 優點 light gin 本篇文章主要解決:什麽是響應式布局?有什麽優點和缺點? 一 什麽是響應式布局? 伊桑·馬科特(Ethan Marcotte)在2010年首先提出了響應式網頁設計(RWD,Responsive

Grunt學習筆記3---- filter詳解

add 行處理 class 一個 特殊 col filter詳解 很多 https 本文主要講配置任務中的filter,包括使用默認fs.Stats方法名和自定義過濾函數。 通過設置filter屬性可以實現一些特殊處理邏輯。例如:要清理某個文件夾下的所有空文件夾,這時使用c

Tomcat學習筆記1--- WEB服務器JavaEETomcat背景

javascrip http .cn 目的 java log 進行 瀏覽器 靜態資源 本文主要講學習Tomcat需要知道的基礎知識。 一 Web服務器 Web服務器可以解析HTTP協議。當Web服務器接收到一個HTTP請求,會返回一個HTTP響應,例如送回一個HTML頁面。

Python學習筆記Supervisor:使用Supervisor監控Tornado程序

Linux常見應用服務配置模式nginx和supervisor:採用主配置檔案+專案配置檔案 安裝(如果使用pip安裝注意看是否需要指定使用python2版本)   第一步:在Linux中使用apt-get 指令安裝 sudo apt-get install supervisor

Python學習筆記Nginx:Nginx使用與完全解除安裝

 安裝與啟動nginx 第一步:通過指令安裝包 sudo apt  install nginx  sudo apt install nginx   第二步:安裝成功後檢視相關配置檔案 ls /etc/nginx/ 在這裡主要是 conf.d

資料分析---《Python for Data Analysis》學習筆記01

《Python for Data Analysis》一書由Wes Mckinney所著,中文譯名是《利用Python進行資料分析》。這裡記錄一下學習過程,其中有些方法和書中不同,是按自己比較熟悉的方式實現的。   第一個例項:1.usa.gov data from bit.ly &n

資料分析---《Python for Data Analysis》學習筆記02

《Python for Data Analysis》一書由Wes Mckinney所著,中文譯名是《利用Python進行資料分析》。這裡記錄一下學習過程,其中有些方法和書中不同,是按自己比較熟悉的方式實現的。   第二個例項:MovieLens 1M Data Set  

OpenCV學習筆記方框濾波均值濾波高斯濾波

1.平滑處理 平滑處理(smoothing)也稱模糊處理(bluring),是一種簡單且使用頻率很高的影象處理方法。平滑處理的用途有很多,最常見的是用來減少影象上的噪點或者失真。在涉及到影象解析度時,平滑處理是非常好用的方法。 2.影象濾波與濾波器 影象濾波,指儘量保留影象細節特徵的條件

資料分析---《Python for Data Analysis》學習筆記03

《Python for Data Analysis》一書由Wes Mckinney所著,中文譯名是《利用Python進行資料分析》。這裡記錄一下學習過程,其中有些方法和書中不同,是按自己比較熟悉的方式實現的。   第三個例項:US Baby Names 1880-2010  

Appium自動測試框架學習筆記

前言 接下來主要講一下如何搭建java的測試環境,以及編寫測試程式碼 環境配置 參考文章 首先JDK和java IDE的安裝就不講了,IDE一般選擇IntelliJ IDEA,不過為了能使用Appium

Appium自動測試框架學習筆記

前言 也不知道比賽方是怎麼想的23333,測試的app居然不支援x86架構的,沒辦法arm的模擬器太卡,所以只能用真機進行測試了。 由於是比賽,所以我也不會貼上具體的程式碼,結合著測試需求進行一個簡單

爬蟲學習筆記1 使用 urllib 獲取 www 資源

1. 掌握普通網頁的獲取方法 檢視 urllib.request 的基本資訊 urllib.request 中最常用的方法是 urlopen() ,它也是我們使用 urllib 獲取普通網頁的基本方法。 在應用之前,我們先看一下 urllib 的原始碼,這是從事IT軟體類