Hadoop學習-編譯並運行maxTemperature

按照書中樣例編寫代碼

其中的MaxTemperatureMapper類定義有錯誤,應該寫爲

public class MaxTemperatureMapper extends Mapper<LongWritable, Text, Text, IntWritable> {

使用mvn命令編譯打包

mvn clean compile package

打包成功後生成jar包

maxTemperature-1.0-SNAPSHOT.jar

在Hadoop上創建輸入路徑及文件

hdfs dfs -mkdir input/ncdc
hdfs dfs -put input/ncdc/sample.txt /user/lianyz/input/ncdc/sample.txt

使用以下命令查看hadoop路徑及文件

hdfs dfs -ls -R

刪除多餘的文件

hdfs dfs -rm -r ncdc

運行程序計算sample.txt

hadoop jar maxTemperature-1.0-SNAPSHOT.jar com.lianyz.hadoop.MaxTemperature input/ncdc/sample.txt output/maxTemperature

查看計算結果

hdfs dfs -cat output/maxTemperature/part-r-00000

計算結果如下

2020-05-03 08:07:07,462 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2020-05-03 08:07:08,044 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
1949	111
1950	22

運行程序計算all

hdfs dfs -put input/ncdc/all/*.gz /user/lianyz/input/ncdc/
hdfs dfs -rm input/ncdc/sample.txt
hdfs dfs -rm output/maxTemperature
hadoop jar maxTemperature-1.0-SNAPSHOT.jar com.lianyz.hadoop.MaxTemperature input/ncdc output/maxTemperature

查看計算結果

hdfs dfs -cat output/maxTemperature/part-r-00000

計算結果如下

2020-05-03 08:13:31,537 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2020-05-03 08:13:32,133 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
1901	333
1902	328
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章