如何在RDD(spark数据帧)的所有列上以并行方式应用函数?

时间:2017-11-08 10:43:35

标签: python function parallel-processing pyspark rdd

我创建了一个接受2个输入的函数(func):

1. A 2 dimensional array - X
2. A 1 dimensional array - Y

我能够通过将RDD转换为pandas数据帧然后创建np.array(pandas datframe)作为输入X到func来执行所需的操作。

假设X有10个col。我希望以并行方式处理所有10个col,这样我就可以同时为10个col中的每个col调用func。如何使用pyspark使用RDD数据框来实现它以获得所有10个col的函数输出?

1 个答案:

答案 0 :(得分:0)

  1. RDD并行排列而不是列式
  2. 10行不足以使用pyspark,这比你在本地做更多的时间
  3. 您在RDD上寻找的功能是mapmy_rdd.map(lambda x: func(x,y))其中x一排my_rdd
  4. 您可以在python中执行multiprocessing