首页 文章

使用PySpark平行自定义功能

提问于
浏览
1

我熟悉使用UDF逐行将自定义函数应用于DataFrame . 但是,我想知道如何将自定义函数并行应用于我的DataFrame的不同子集 .

这是一个简化的例子:

import numpy as np
import pandas as pd

dummy_data = pd.DataFrame({'id':np.random.choice(['a','b','c'],size=100),
                           'val':np.random.normal(size=100)})

我的自定义函数将一组数字作为输入 . 对于每个唯一的'id',我想将我的函数应用于与该id相关联的'val'值数组 .

我现在正在做的简单方法是遍历我的PySpark DataFrame,并为每个'id'将数据转换为pandas DataFrame,然后应用该函数 . 它有效,但显然它很慢并且不使用火花 .

我该如何平行?

1 回答

相关问题