1.hdfs使用
1、檢視集群狀態,命令:hdfs dfsadmin –report
可以看出,集群共有3個datanode可用
也可開啟web控制台檢視hdfs集群資訊,在瀏覽器開啟http://hdp-node-01:50070/
2、上傳檔案到hdfs
檢視hdfs中的目錄資訊,命令:hadoop fs –ls /
上傳檔案,命令:hadoop fs -put ./ scala-2.10.6.tgz to /
2.mapreduce使用
mapreduce是hadoop中的分布式運算程式設計框架,只要按照其程式設計規範,只需要編寫少量的業務邏輯**即可實現乙個強大的海量資料併發處理程式。
demo開發——wordcount
1、需求
從大量(比如t級別)文字檔案中,統計出每乙個單詞出現的總次數。
2、mapreduce實現思路
map階段:
從hdfs的源資料檔案中逐行讀取資料
將每一行資料切分出單詞
為每乙個單詞構造乙個鍵值對(單詞,1)
將鍵值對傳送給reduce
reduce階段:
接收map階段輸出的單詞鍵值對
將相同單詞的鍵值對匯聚成一組
對每一組,遍歷組中的所有「值」,累加求和,即得到每乙個單詞的總次數
將(單詞,總次數)輸出到hdfs的檔案中
3.具體編碼實現
//首先要定義四個泛型的型別
//keyin: longwritable valuein: text
//keyout: text valueout:intwritable
public
class
extends
}}
(2)定義乙個reducer類
//生命週期:框架每傳遞進來乙個kv 組,reduce方法被呼叫一次
@override
protected
void
reduce
(text key, iterable
values, context context)
throws ioexception, interruptedexception
context.
write
(key,
newintwritable
(count));
}}
(3)定義乙個主類,用來描述job並提交job
public
class
wordcountrunner
4.程式打包執行1.將程式打包
2.準備輸入資料
vi /home/hadoop/test.txt
hello tom
hello jim
hello ketty
hello world
ketty tom
在hdfs上建立輸入資料資料夾:
hadoop fs mkdir -p /wordcount/input
將words.txt上傳到hdfs上
3.將程式jar包上傳到集群的任意一台伺服器上
4.使用命令啟動執行wordcount程式jar包
5.檢視執行結果
集群使用初步
5 集群使用初步1 檢視集群狀態 命令 hdfs dfsadmin report 可以看出,集群共有3個 datanode可用 也可開啟web控制台檢視 hdfs 集群資訊,在瀏覽器開啟 2 上傳檔案到 hdfs 檢視hdfs中的目錄資訊 命令 上傳檔案 命令 hadoop fs put scala...
集群使用初步
1 檢視集群狀態 命令 hdfs dfsadmin report 可以看出,集群共有3個 datanode可用 也可開啟web控制台檢視 hdfs 集群資訊,在瀏覽器開啟 2 上傳檔案到 hdfs 檢視hdfs中的目錄資訊 命令 hadoop fs ls 上傳檔案 命令 hadoop fs put ...
集群使用初步
5 集群使用初步1 檢視集群狀態 命令 hdfs dfsadmin report 可以看出,集群共有3個 datanode可用 也可開啟web控制台檢視 hdfs 集群資訊,在瀏覽器開啟 2 上傳檔案到 hdfs 檢視hdfs中的目錄資訊 命令 hadoop fs ls 上傳檔案 命令 hadoop...