Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Pypark关于如何组织RDD的建议_Apache Spark_Rdd - Fatal编程技术网

Apache spark Pypark关于如何组织RDD的建议

Apache spark Pypark关于如何组织RDD的建议,apache-spark,rdd,Apache Spark,Rdd,我是Spark noobie,我正在尝试在Spark上测试一些东西,看看我使用的数据大小是否有任何性能提升 我的rdd中的每个对象都包含一个时间、id和位置 我想比较包含相同id的相同时间组的位置 grouped_rdd = rdd.map(lambda x: (x.id, [x])).groupByKey() 然后我想把它分解成每个物体的时间 有什么建议吗?谢谢 首先,如果您希望id和时间都作为键,只需将它们都放在键部分,而不是先按id分组,然后分别按时间分组 m = sc.parallel

我是Spark noobie,我正在尝试在Spark上测试一些东西,看看我使用的数据大小是否有任何性能提升

我的rdd中的每个对象都包含一个时间、id和位置

我想比较包含相同id的相同时间组的位置

grouped_rdd = rdd.map(lambda x: (x.id, [x])).groupByKey()
然后我想把它分解成每个物体的时间


有什么建议吗?谢谢

首先,如果您希望id和时间都作为键,只需将它们都放在键部分,而不是先按id分组,然后分别按时间分组

m = sc.parallelize([(1,2,3),(1,2,4),(2,3,5)])
n = m.map(lambda x: ((x[0], x[1]), x[2]))

其次,哪一个性能不好,如果可能,使用combineByKey或ReduceeByKey。

非常感谢您的回复。我如何根据id和时间进行分组?grouped_rdd=rdd.maplambda x:x.id,x.time,[x]?@JeffreyKamei,请参见上面的编辑,然后可以使用组合键调用答案中的n或使用组合键调用还原键。