大數據中的 Mapreduce:概述、功能和重要性
已發表: 2022-07-15什麼是大數據?
大數據是傳統計算方法無法處理的海量數據的綜合集合。 大數據分析是指利用用戶行為分析、預測分析或其他各種有效處理大數據的高級分析方法。 大數據分析用於系統地從大型數據集中提取信息。
隨著科技的進步,我們的數字化生活主要依賴於各個領域的大數據集。 從手機等數字設備到計算機系統,數據無處不在,是大型組織和企業的重要資源。 他們依賴於大量未處理的數據,這些數據屬於大數據保護傘。
因此,收集、研究、分析和信息提取對於各個部門的業務增長和其他目的是不可或缺的。 數據科學家的工作是處理這些數據並將其呈現給公司進行預測和業務規劃。
`
探索我們流行的軟件工程課程
SL。 不 | 軟件開發計劃 | |
1 | LJMU & IIITB 計算機科學碩士 | 加州理工學院 CTME 網絡安全證書課程 |
2 | 全棧開發訓練營 | 區塊鏈中的 PG 程序 |
3 | 軟件開發行政研究生課程 - DevOps 專業化 | 查看所有軟件工程課程 |
什麼是 MapReduce?
MapReduce 是一種編程模型,它在集群上的並行分佈式算法的幫助下,在處理大數據和大型數據集方面發揮著不可或缺的作用。 MapReduce 程序可以用多種編程語言編寫,如 C++、Java、Ruby、Python 等。MapReduce 的最大優勢在於它使數據處理易於在眾多計算機節點上擴展。
MapReduce 和 HDFS 主要用於大數據的有效管理。 Hadoop 被稱為這種耦合的 Mapreduce 和 HDFS 系統的基本基礎,稱為 HDFS-MapReduce 系統。 因此,毋庸置疑,MapReduce 是 Apache Hadoop 生態系統不可或缺的組成部分。 Mapreduce 的框架有助於在海量級別上增強數據處理。 Apache Hadoop 由其他元素組成,包括 Hadoop 分佈式文件系統 (HDFS)、Apache Pig 和 Yarn。
MapReduce 借助 Hadoop 生態系統的分散和並行算法幫助增強數據處理。 這種編程模型在電子商務和社交平台中的應用有助於分析從在線用戶那裡收集的海量數據。
從世界頂級大學在線學習軟件開發課程。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。
MapReduce 是如何工作的?
MapReduce 算法由兩個完整的任務組成,即 Map 和 Reduce。 Map 任務獲取一個數據集並繼續將其轉換為另一個數據集,其中單個元素被分解為元組或鍵值對。 Reduce 任務將 Map 的輸出作為輸入,並將這些數據元組或鍵值對組合成更小的元組集。 Reduce 任務總是在 map 作業之後執行。
以下是 MapReduce 的各個階段:-
- 輸入階段:在輸入階段,記錄閱讀器幫助翻譯輸入文件中的每條記錄,並將解析後的數據以鍵值對的形式發送給映射器。
- 地圖:地圖功能是用戶定義的。 它有助於處理一系列鍵值對並生成零個或多個鍵值對。
- 中間鍵:映射器生成的鍵值對稱為中間鍵。
- 組合器:這種本地化簡器有助於將映射階段生成的相似數據分組到可識別的集合中。 它是 MapReduce 算法的可選部分。
- Shuffle and Sort: Reducer 任務從這一步開始,它將分組的鍵值對下載到已經運行 Reducer 的機器中。 鍵值對按鍵分隔成更廣泛的數據列表。 然後,數據列表將等效鍵組合在一起,以便在 Reducer 任務中輕鬆迭代它們的值。
- Reducer :Reducer 將分組的鍵值對數據作為輸入,然後在每個數據上運行一個 Reducer 函數。 在這裡,可以通過多種方式過濾、聚合和組合數據。 它還需要廣泛的處理。 一旦該過程結束,它會為最後一步提供零個或多個鍵值對。
- 輸出階段:在這個階段,有一個輸出格式化程序,它轉換來自 Reducer 函數的最終鍵值對,並使用記錄寫入器將它們寫入文件。
MapReduce 分三個階段進行:-
第一階段:地圖階段
第二階段:洗牌階段
階段 3:減少階段。
幫助更好地理解各個階段的示例。 以下是 Mapreduce 分階段解決的 Wordcount 問題示例:-
考慮以下輸入數據:-
- 安娜凱倫蘿拉
- 克拉拉克拉拉蘿拉
- 安娜克拉拉凱倫
- 上述數據已被分成三個輸入部分。
- 安娜凱倫蘿拉
- 克拉拉克拉拉蘿拉
- 安娜克拉拉凱倫
- 在下一階段,該數據被饋送到下一階段,即映射階段。
考慮第一行(Anna Karen Lola),我們得到三個鍵值對——Anna, 1; 凱倫,1; 蘿拉,1。
您將在下面的映射階段找到結果:-
- 安娜,1
凱倫,1
蘿拉,1 - 克拉拉,1
克拉拉,1
蘿拉,1 - 安娜,1
克拉拉,1
凱倫,1
- 然後將上述數據輸入下一階段。 這個階段稱為排序和洗牌階段。 此階段的數據被分組為唯一鍵並進一步排序。 你會發現排序和洗牌階段的結果:
- 蘿拉,(1,1)
- 凱倫(1,1)
- 安娜(1,1)
- 克拉拉(1,1,1)
- 然後將上面的數據輸入到下一個階段,即歸約階段。
這裡把所有的鍵值聚合起來,統計 1 的個數。
下面是reduce階段的結果:
- 蘿拉,2
- 凱倫,2
- 安娜,2
- 克拉拉,3
閱讀我們與軟件開發相關的熱門文章
如何在 Java 中實現數據抽象? | Java中的內部類是什麼? | Java 標識符:定義、語法和示例 |
通過示例了解 OOPS 中的封裝 | C 中的命令行參數解釋 | 2022 年雲計算的 10 大特點和特點 |
Java 中的多態性:概念、類型、特徵和示例 | Java 中的包以及如何使用它們? | Git 初學者教程:從零開始學習 Git |
為什麼選擇 MapReduce?
作為編寫應用程序的編程模型,MapReduce 是在多個節點上並行處理大數據的最佳工具之一。 使用 MapReduce 的其他優點如下:-
- 安全
- 可擴展性
- 靈活性
- 預算友好
- 驗證
- 簡化的編程模型
- 快速有效
- 可用性
- 並行處理
- 彈力
結論
大數據是我們生活中非常重要的一部分,因為經濟蓬勃發展的大公司依賴於大數據。 今天,它是人們可以選擇的最有利可圖的職業選擇之一。
如果您想報名參加大數據高級證書課程的可靠課程,那就別無所求。 upGrad有你會遇到的最好的課程。 您將學習頂級專業技能,如使用 PySpark 進行數據處理、數據倉庫、MapReduce、雲端大數據處理、實時處理等。
什麼是分區器,它是如何使用的?
分區器是一個階段,它使用哈希函數控制立即 Mapreduce 輸出鍵的分區。 分區決定了reducer,鍵值對被發送到。
MapReduce 中指定的主要配置是什麼?
MapReduce 需要 Hadoop 分佈式文件系統中作業的輸入和輸出位置及其格式。 MapReduce 程序員還需要提供包含 map 和 reduce 函數的類的參數。 MapReduce 還需要為 reducer、driver 和 mapper 類配置 .JAR 文件。
MapReduce 中的鏈映射器和身份映射器是什麼?
鍊式映射器可以定義為簡單的映射器類,這些映射器類在單個映射任務中藉助跨特定映射器類的鍊式操作來實現。 身份映射器可以默認定義為 Hadoop 的映射器類。 當未定義其他映射器類時,將執行標識映射器。