Apache spark 基于PySpark中列值的RDD/Dataframe映射片
我有一个数据帧,如下所示:Apache spark 基于PySpark中列值的RDD/Dataframe映射片,apache-spark,pyspark,rdd,spark-dataframe,Apache Spark,Pyspark,Rdd,Spark Dataframe,我有一个数据帧,如下所示: timestamp key value 2016-06-29 A 88 2016-06-28 A 89 2016-06-27 A 90 2016-06-29 B 78 2016-06-28 B 79 2016-06-27 B 80 2016-06-29 C 98 2016-06-27 C 99 目标是以有效的方式将其转换为panda.Series的RDD。因此,我希望: (A, pandas.Se
timestamp key value
2016-06-29 A 88
2016-06-28 A 89
2016-06-27 A 90
2016-06-29 B 78
2016-06-28 B 79
2016-06-27 B 80
2016-06-29 C 98
2016-06-27 C 99
目标是以有效的方式将其转换为panda.Series的RDD。因此,我希望:
(A, pandas.Series)
(B, pandas.Series)
(C, pandas.Series)
所以我想对数据帧的一个片段进行操作,该片段具有相同的键,并为每个片段提供一个元组(key,pandas.Series)作为输出
已经尝试过的事情/想法:
有什么想法/建议可以快速高效地实现这一目标吗?快速高效?-当然不是。要获得
pandas.Series
您必须以这样或那样的方式移动和分组数据,不管您是如何处理的。那么,让我们重新表述一下,任何方式都可以并行执行,使用spark功能而不是迭代执行吗?df.rdd.groupByKey.mapValues(MakeSseries)
wheremakesSeries
提取索引并将所有内容转换为熊猫。但是,除非群组很小,否则它肯定不会有效率。你为什么认为窗口功能不合适?(不是创建系列,而是一般)快速高效?-当然不是。要获得pandas.Series
您必须以这样或那样的方式移动和分组数据,不管您是如何处理的。那么,让我们重新表述一下,任何方式都可以并行执行,使用spark功能而不是迭代执行吗?df.rdd.groupByKey.mapValues(MakeSseries)
wheremakesSeries
提取索引并将所有内容转换为熊猫。但是,除非群组很小,否则它肯定不会有效率。你为什么认为窗口功能不合适?(不创建系列,但一般情况下)