spark 按照key 分组 然后统计每个key对应的最大、最小、平均值思路——使用groupby,或者reduceby

简介:
复制代码
What you're getting back is an object which allows you to iterate over the results. You can turn the results of groupByKey into a list by calling list() on the values, e.g.

example = sc.parallelize([(0, u'D'), (0, u'D'), (1, u'E'), (2, u'F')])

example.groupByKey().collect()
# Gives [(0, <pyspark.resultiterable.ResultIterable object ......]

example.groupByKey().map(lambda x : (x[0], list(x[1]))).collect()
# Gives [(0, [u'D', u'D']), (1, [u'E']), (2, [u'F'])]

# OR:
example.groupByKey().mapValues(list)
 
复制代码
复制代码
Hey Ron, 

It was pretty much exactly as Sean had depicted. I just needed to provide
count an anonymous function to tell it which elements to count. Since I
wanted to count them all, the function is simply "true".

        val grouped = rdd.groupByKey().mapValues { mcs =>
          val values = mcs.map(_.foo.toDouble)
          val n = values.count(x => true)
          val sum = values.sum
          val sumSquares = values.map(x => x * x).sum
          val stddev = math.sqrt(n * sumSquares - sum * sum) / n
          print("stddev: " + stddev)
          stddev
        }


I hope that helps
复制代码

 

 

Just don't. Use reduce by key:

lines.map(lambda x: (x[1][0:4], (x[0], float(x[3])))).map(lambda x: (x, x)) \
    .reduceByKey(lambda x, y: (
        min(x[0], y[0], key=lambda x: x[1]), 
        max(x[1], y[1], , key=lambda x: x[1])))

 
















本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/7156188.html,如需转载请自行联系原作者


相关文章
|
10月前
|
消息中间件 分布式计算 Kafka
195 Spark Streaming整合Kafka完成网站点击流实时统计
195 Spark Streaming整合Kafka完成网站点击流实时统计
61 0
|
分布式计算 关系型数据库 MySQL
Spark Streaming实时流处理项目实战笔记——将统计结果写入到MySQL数据库中
Spark Streaming实时流处理项目实战笔记——将统计结果写入到MySQL数据库中
Spark Streaming实时流处理项目实战笔记——将统计结果写入到MySQL数据库中
|
3月前
|
分布式计算 定位技术 Scala
使用spark基于出租车GPS数据实现车辆数量统计以及北京每个城区的车辆位置点数分析
使用spark基于出租车GPS数据实现车辆数量统计以及北京每个城区的车辆位置点数分析
|
4月前
|
机器学习/深度学习 分布式计算 大数据
【大数据技术】Spark MLlib机器学习特征抽取 TF-IDF统计词频实战(附源码和数据集)
【大数据技术】Spark MLlib机器学习特征抽取 TF-IDF统计词频实战(附源码和数据集)
56 0
|
SQL JSON 分布式计算
【大数据学习篇10】Spark项目实战~网站转化率统计
【大数据学习篇10】Spark项目实战~网站转化率统计
463 0
【大数据学习篇10】Spark项目实战~网站转化率统计
|
存储 分布式计算 Java
JAVA Spark rdd使用Spark编程实现:统计出每个省份广 告被点击次数的TOP3
JAVA Spark rdd使用Spark编程实现:统计出每个省份广 告被点击次数的TOP3
121 0
|
分布式计算 大数据 Hadoop
大数据实验——用Spark实现wordcount单词统计
大数据实验——用Spark实现wordcount单词统计
大数据实验——用Spark实现wordcount单词统计
|
分布式计算 大数据 调度
Spark 原理_概述和思路 | 学习笔记
快速学习 Spark 原理_概述和思路
Spark 原理_概述和思路 | 学习笔记
|
机器学习/深度学习 分布式计算 算法
Spark机器学习库(MLlib)指南之简介及基础统计
Spark机器学习库(MLlib)指南之简介及基础统计
310 0
|
机器学习/深度学习 存储 分布式计算
Spark 机器学习 概括统计 summary statistics [摘要统计]
概括统计 summary statistics [摘要统计] 单词 linalg 分开 linear + algebra: 线性代数
166 0