1. 程式人生 > >資料計算(大資料):MapReduce、Spark、Storm概述、特點、原理

資料計算(大資料):MapReduce、Spark、Storm概述、特點、原理

MapReduce

MapReduce將複雜的、運行於大規模叢集上的平行計算過程高度地抽象到了兩個函式:MapReduce

特點:程式設計容易;分而治之策略(大規模資料集,會被切成許多獨立分片,分片由多個Map任務);計算向資料靠攏(設計理念)

函式

輸入

輸出

說明

Map

<k1,v1>如:

<行號,”a b c”>

List(<k2,v2>)

如:

<“a”,1>

<“b”,1>

<“c”,1>

1.將小資料集進一步解析成一批<key,value>對,輸入Map函式中進行處理

2.每一個輸入的<k1,v1>會輸出一批<k2,v2>。<k2,v2>是計算的中間結果

Reduce

<k2,List(v2)>如:<“a”,<1,1,1>>

<k3,v3>

<“a”,3>

輸入的中間結果<k2,List(v2)>中的List(v2)表示是一批屬於同一個k2的value

MapReduce可以很好的應用各類計算問題:關係代數運算(選擇、投影、並、交、差、連線);分組與聚合運算;矩陣-向量乘法;矩陣乘法。

Spark 

    spark是基於記憶體計算的大資料平行計算框架,可用於構建大型的、低延遲的資料分析應用程式。支援批處理(MapReduce)、互動式查詢(Impala)和流資料處理(Storm)。Spark

的生態系統主要包含了Spark CoreSpark SQLSpark StreamingMLLibGraphX 等元件。

主要特點:

執行速度快:使用DAG執行引擎以支援迴圈資料流與記憶體計算。

易使用:支援使用ScalaJavaPythonR語言程式設計,通過Spark Shell進行互動式程式設計 。

通用性:Spark提供完整而強大的技術棧,包括SQL查詢、流式計算、機器學習和圖演算法元件。

執行模式多樣:可運行於獨立的叢集模式中,可運行於Hadoop中,也可運行於Amazon EC2等雲環境中,並且可以訪問HDFSCassandraHBaseHive等多種資料來源 。

備註:Spark處理中間過程結果儲存在記憶體,而

MapReduce儲存在hdfs中。

Spark執行架構包括叢集資源管理器(Cluster Manager)、執行作業任務的工作節點(Worker Node)、每個應用的任務控制節點(Driver)和每個工作節點上負責具體任務的執行程序(Executor)。

資源管理器可以自帶或MesosYARN

  Sparkmapflatmap區別:

(1)map():rdd之中的元素進行逐一進行函式操作對映為另外一個rdd。

map函式會對每一條輸入進行指定的操作,然後為每一條輸入返回一個物件;

(2)Flatmap():將函式應用於rdd之中的每一個元素,將返回的迭代器的所有內容構成新的rdd。返回的型別為可迭代的型別(例如listflatMap函式則是兩個操作的集合——正是“先對映後扁平化”:操作1:同map函式一樣:對每一條輸入進行指定的操作,然後為每一條輸入返回一個物件操作2:最後將所有物件合併為一個物件

Storm

對靜態資料和流資料的處理,對應著兩種截然不同的計算模式:批量計算和流式計算。

流計算(實時計算):實時獲取來自不同資料來源的海量資料,經過實時分析處理,獲得有價值的資訊。流計算秉承一個基本理念,即資料的價值隨著時間的流逝而降低。

應用場景:Web服務、機器翻譯、廣告投放、自然語言處理、氣候模擬預測等。

原理:Storm叢集採用“MasterWorker”的節點方式,Master節點負責在叢集範圍內分發程式碼、為Worker分配任務監測故障。Worker節點,負責監聽分配給它所在機器的工作,即Master決定啟動或停止Worker程序,一個Worker節點上同時執行若干個Worker程序。



相關推薦

資料計算資料MapReduceSparkStorm概述特點原理

MapReduceMapReduce將複雜的、運行於大規模叢集上的平行計算過程高度地抽象到了兩個函式:Map和Reduce。特點:程式設計容易;分而治之策略(大規模資料集,會被切成許多獨立分片,分片由多個Map任務);計算向資料靠攏(設計理念)函式輸入輸出說明Map<k

資料計算資料

Hadoop的背景起源二:MapReduce   一、什麼是大資料,本質?         (1)資料的儲存:分散式檔案系統(分散式儲存)-----> HDFS: Hadoop Distributed File Syst

無鎖資料結構基礎篇原子性原子性原語

無鎖資料結構基於兩方面——原子性操作以及記憶體訪問控制方法。本文中我話題主要涉及原子性和原子性原語。 在開始之前,我對大家表示感謝,謝謝你們對初識無鎖資料結構的熱愛。看到大家對無鎖話題很感興趣,我感到很開心。我計劃依據學術概念將此做成一個系列,從基礎到演算法,同時以

hadoop學習筆記十一MapReduce數據類型

筆記 ash all 記錄 write 一個 操作 png bool 一、序列化 1 hadoop自定義了數據類型,在hadoop中,所有的key/value類型必須實現Writable接口。有兩個方法,一個是write,一個是readFileds。分別用於讀(反序列化操

資源管理資料Zookeeper Yarn簡介原理

https://blog.csdn.net/wzk646795873/article/details/79583218 Zookeeper Zookeeper是一個分散式協調服務,一個leader,多個follower組成的叢集,就是為使用者的分散式應用程式提供協調服務。 Zookeep

中國旅遊研究院2018中日韓旅遊資料報告附下載

報告下載:新增199IT官方微信【i199it】,回覆關鍵詞【2018中日韓旅遊大資料報告】即可! 報告下載:新增199IT官方微信【i199it】,回覆關鍵詞【20

資料十五Hadoop資料壓縮與壓縮/解壓縮例項

一、資料壓縮 1.概論         壓縮技術能夠有效減少低層儲存系統(HDFS)讀寫位元組。壓縮提高了網路頻寬和磁碟空間的效率。在Hadoop下,尤其是資料規模很大和工作負載密集的情況下。使用資料壓縮閒的非常重要。在這種情況下,I/O操作

資料十四多job串聯與ReduceTask工作機制

一、多job串聯例項(倒索引排序) 1.需求 查詢每個單詞分別在每個檔案中出現的個數   預期第一次輸出(表示單詞分別在個個檔案中出現的次數) apple--a.txt 3 apple--b.txt 1 apple--c.txt 1 grape--a.txt

資料十二自定義OutputFormat與ReduceJoin合併資料傾斜

一、OutputFormat介面         OutputFormat是MapReduce輸出的基類,所有實現MapReduce輸出都實現了OutputFormat介面。 1.文字輸出TextOutPutFormat  &n

資料十八Hive元資料配置常見屬性配置資料型別與資料轉換

一、Hive元資料配置到MySQL當中         為什麼要把Hive的元資料配置到MySql中?我們可以使用多個客戶端連線linux系統並且都嘗試啟動Hive,可以發現在啟動第二個Hive客戶端的時候發生報錯了。   

資料十七Hive簡介安裝與基本操作

一、簡介         Hive由Facebook開源用於解決海量結構化日誌的資料統計。Hive是基於Hadoop的一個數據倉庫工具,可以將結構化的資料檔案對映為一張表,並提供類Sql查詢的功能。 hive本質是將HQL轉化為MapRedu

資料十六Yarn的工作機制資源排程器任務的推測執行機制

一、Yarn概述         Yarn是一個資源排程平臺,負責為運算程式提供伺服器運算資源,相當於一個分散式的作業系統平臺,而MapReduce等運算程式則相當於運行於操作程式上的應用程式。   二、Yarn基本架

資料二十hive分割槽表修改表語句與資料的匯入匯出

一、分割槽表         分割槽表實際上就是對應一個HDFS檔案系統上的一個獨立的資料夾,該資料夾下是該分割槽所有的資料檔案,hive中的分割槽就是分目錄,把一個大的資料集更具業務需求分割成小的資料集。在查詢時通過where子句中的

資料二十三hive優化表優化

一、Fetch抓取         Fetch抓取是指,Hive中對某些情況的查詢可以不必使用MapReduce計算。例如,select * from employees;在這種情況下,Hive可以簡單讀取employee對應的儲存目錄

CBNData2018年輕人租房資料報告附下載

報告下載:新增199IT官方微信【i199it】,回覆關鍵詞【2018年輕人租房大資料報告】即可! 房子一直是安全感與歸屬感的象徵,但這屆年輕人對於“租房”與“穩定”的觀念,已於往屆產生了巨大的差異,他們提倡“房子是租來的,但生活不是”。 第一財經商業資料中心(CBNData

天巡2018十一黃金週出境自由行資料報告附下載

報告下載:新增199IT官方微信【i199it】,回覆關鍵詞【2018十一黃金週出境自由行大資料】即可! Skyscanner天巡聯合攜程、飛常準釋出了《2018十一黃金週出境自由行大資料報告》。該資料報告基於Skyscanner天巡的國際機票預訂資料、攜程對於國內使用者行為的洞察

資料教程8.1mapreduce核心思想

        上一章介紹了hadoop的HDFS檔案系統的原理及API使用。本章博主將繼續對hadoop的mapreduce程式設計框架進行分享。         mapreduce原理篇

資料教程8.5mapreduce原理之並行度

        上一篇部落格介紹了mapreduce的移動流量分析的實戰案例,本篇將繼續分享mapreduce的並行度原理。     一、mapTask並行度的決定機制   

海量資料處理十道面試題與十個海量資料處理方法總結資料演算法面試題

第一部分、十道海量資料處理面試題 1、海量日誌資料,提取出某日訪問百度次數最多的那個IP。       首先是這一天,並且是訪問百度的日誌中的IP取出來,逐個寫入到一個大檔案中。注意到IP是32位的,最多有個2^32個IP。同樣可以採用對映的方法

資料十九hive資料庫基本操作與表分類

一、建立資料庫 1.建立一個數據,資料庫在HDFS上的預設儲存路徑是/user/hive/warehouse/*.db create database db_hive; 2.避免建立的資料庫已經存在,增加if not exists create database