hadoop mapreduce求平均分
hadoop mapreduce求平均分 求平均分的关键在于,利用mapreduce过程中,一个key聚合在一起,输送到一个reduce的特性。 假设三门课的成绩如下: china.txt [plain] 张三 78 李四 89 王五 96 赵六 67 english.txt [plain] 张三 80 李四 82 王五 84 赵六 86 math
hadoop mapreduce求平均分
求平均分的关键在于,利用mapreduce过程中,一个key聚合在一起,输送到一个reduce的特性。
假设三门课的成绩如下:
china.txt
[plain]
张三 78
李四 89
王五 96
赵六 67
english.txt
[plain]
张三 80
李四 82
王五 84
赵六 86
math.txt
[plain]
张三 88
李四 99
王五 66
赵六 72
mapreduce如下:
[plain]
public static class Map extends Mapper
// 实现map函数
public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
// 将输入的纯文本文件的数据转化成String
String line = value.toString();
// 将输入的数据首先按行进行分割
StringTokenizer tokenizerArticle = new StringTokenizer(line, "\n");
// 分别对每一行进行处理
while (tokenizerArticle.hasMoreElements()) {
// 每行按空格划分
StringTokenizer tokenizerLine = new StringTokenizer(tokenizerArticle.nextToken());
String strName = tokenizerLine.nextToken();// 学生姓名部分
String strScore = tokenizerLine.nextToken();// 成绩部分
Text name = new Text(strName);
int scoreInt = Integer.parseInt(strScore);
// 输出姓名和成绩
context.write(name, new IntWritable(scoreInt));
}
}
}
public static class Reduce extends Reducer
// 实现reduce函数
public void reduce(Text key, Iterable
int sum = 0;
int count = 0;
Iterator
while (iterator.hasNext()) {
sum += iterator.next().get();// 计算总分
count++;// 统计总的科目数
}
int average = (int) sum / count;// 计算平均成绩
context.write(key, new IntWritable(average));
}
}
输出如下:
[plain]
张三 82
李四 90
王五 82
赵六 75

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Java錯誤:Hadoop錯誤,如何處理和避免使用Hadoop處理大數據時,常常會遇到一些Java異常錯誤,這些錯誤可能會影響任務的執行,導致資料處理失敗。本文將介紹一些常見的Hadoop錯誤,並提供處理和避免這些錯誤的方法。 Java.lang.OutOfMemoryErrorOutOfMemoryError是Java虛擬機器記憶體不足的錯誤。當Hadoop任

隨著大數據時代的到來,資料處理和儲存變得越來越重要,如何有效率地管理和分析大量的資料也成為企業面臨的挑戰。 Hadoop和HBase作為Apache基金會的兩個項目,為大數據儲存和分析提供了一個解決方案。本文將介紹如何在Beego中使用Hadoop和HBase進行大數據儲存和查詢。一、Hadoop和HBase簡介Hadoop是一個開源的分散式儲存和運算系統,它可

隨著資料量的不斷增大,傳統的資料處理方式已經無法處理大數據時代所帶來的挑戰。 Hadoop是開源的分散式運算框架,它透過分散式儲存和處理大量的數據,解決了單節點伺服器在大數據處理中帶來的效能瓶頸問題。 PHP是一種腳本語言,廣泛應用於Web開發,而且具有快速開發、易於維護等優點。本文將介紹如何使用PHP和Hadoop進行大數據處理。什麼是HadoopHadoop是

Java大數據技術堆疊:了解Java在大數據領域的應用,如Hadoop、Spark、Kafka等隨著資料量不斷增加,大數據技術成為了當今網路時代的熱門話題。在大數據領域,我們常聽到Hadoop、Spark、Kafka等技術的名字。這些技術起到了至關重要的作用,而Java作為一門廣泛應用的程式語言,也在大數據領域發揮著巨大的作用。本文將重點放在Java在大

一:安裝JDK1.執行以下指令,下載JDK1.8安裝套件。 wget--no-check-certificatehttps://repo.huaweicloud.com/java/jdk/8u151-b12/jdk-8u151-linux-x64.tar.gz2.執行以下命令,解壓縮下載的JDK1.8安裝包。 tar-zxvfjdk-8u151-linux-x64.tar.gz3.移動並重新命名JDK包。 mvjdk1.8.0_151//usr/java84.配置Java環境變數。 echo'

隨著資料量的不斷增加,大規模資料處理已經成為了企業必須面對和解決的問題。傳統的關聯式資料庫已經無法滿足這種需求,而對於大規模資料的儲存與分析,Hadoop、Spark、Flink等分散式運算平台成為了最佳選擇。在資料處理工具的選擇過程中,PHP作為一種易於開發和維護的語言,越來越受到開發者的歡迎。在本文中,我們將探討如何利用PHP來實現大規模資料處理,以及如

在目前的網路時代,海量資料的處理是各個企業和機構都需要面對的問題。作為一種廣泛應用的程式語言,PHP同樣需要在資料處理方面跟上時代的腳步。為了更有效率地處理大量數據,PHP開發引入了一些大數據處理工具,如Spark和Hadoop等。 Spark是一款開源的資料處理引擎,可用於大型資料集的分散式處理。 Spark的最大特點是具有快速的資料處理速度和高效的資料存

Golang中使用快取加速MapReduce運算過程的實作。隨著資料規模的不斷增大和運算強度的日益增強,傳統的計算方式已經難以滿足人們對資料的快速處理需求。在這方面,MapReduce技術應運而生。然而,在MapReduce計算過程中,由於涉及大量鍵值對的操作,導致計算速度緩慢,因此如何最佳化計算速度也成為一個重要的問題。近年來,有不少開發者在Golang語言
