G3M*_*G3M 2 scala apache-spark
假设我有一个文件,每行代表一个数字.如何在Scala - Spark中找到文件中所有数字的平均值.
val data = sc.textFile("../../numbers.txt")
val sum = data.reduce( (x,y) => x+y )
val avg = sum/data.count()
Run Code Online (Sandbox Code Playgroud)
这里的问题是x和y是字符串.如何在reduce函数中将它们转换为Long.
你需要应用一个RDD.map在减少它们之前解析字符串的方法:
val sum = data.map(_.toInt).reduce(_+_)
val avg = sum / data.count()
Run Code Online (Sandbox Code Playgroud)
但我认为你最好DoubleRDDFunctions.mean不要自己使用而不是自己计算:
val mean = data.map(_.toInt).mean()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1855 次 |
| 最近记录: |