計算出所有人的平均年齡:
val lines = sc.textFile("/root/data/scala/people/page.txt")
val count = lines.count()
val total = lines.map(line => line.split(" ")(1)).map(t=>t.trim.toInt).collect().reduce((a,b)=>a+b)
val avgAge = total.toDouble / count.toDouble
print("平均年齡:"+avgAge)
錯誤記錄:?
/root/data/scala/people/page.txt,這個里面的文件格式形成不太正確。
于是,我的所有活動不再以成敗而論,而以自己不斷地進行生活的實踐活動而論,通過不斷地實踐活動來糾正自己的認識,衡量自己不斷地進行做事的準則,實踐才是衡量真理的唯一法則。
//hdfs路徑 /export/servers/hadoop-2.7.4/bin
//hdfs中創建文件夾 ./hdfs dfs -mkdir -p /user/hadoopimport scala.util.Random
val outputFile = "hdfs://hadoop01:9000/usr/hadoop/page.txt"
val rand = new Random()
val arr = new Array[String](1000)
for(i<-1 to 1000){
arr(i-1)=1+""+rand.nextInt(100)
}
val rdd = sc.parallelize(arr)
rdd.saveAsTextFile(outputFile)//顯示數據 ./hdfs dfs -cat /user/hadoop/page.txt/*
val lines = sc.textFile("hdfs://hadoop01:9000/user/hadoop/page.txt")
val count = lines.count()
val total = lines.map(line => line.split(" ")(1)).map(t=>t.trim.toInt).collect().reduce((a,b)=>a+b)
val avgAge = total.toDouble / count.toDouble
print("平均年齡:"+avgAge)