【发布时间】:2020-02-07 09:05:07
【问题描述】:
我是 Spark 的新手,正在尝试将现有的 python 应用程序迁移到 pyspark。
第一个函数(在本例中为 f(x))应针对数据集中的每个元素运行,但也应考虑数据集中的其他元素。
我能得到的最好的简化是以下伪代码:
def idx_gen_a(x):
return x-5
def idx_gen_b(x):
return x*3
def f(i, x, dataset):
elem1 = dataset.get(idx_gen_a(i))
elem2 = dataset.get(idx_gen_b(i))
...
return some_calculation(x, elem1, elem2, ...)
def main(dataset):
result = []
for i, x in enumerate(dataset):
result.append(f(i, x,dataset))
有没有类似 Spark 的方法? foreachPartition 和 aggregate 似乎不太合适..
【问题讨论】:
-
@user10465355,谢谢,我已经查看了 sparksql 的窗口功能,但我不太确定如何将其应用于这种情况..
标签: python apache-spark pyspark