gpt4 book ai didi

python - 使用 PySpark 并行自定义函数

转载 作者:太空宇宙 更新时间:2023-11-04 04:37:00 24 4
gpt4 key购买 nike

我熟悉使用 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,然后应用该函数。它有效,但显然它很慢并且没有使用 spark。

我怎样才能将其并行化?

最佳答案

这个答案太短了,它应该是评论,但没有足够的声誉来评论。

Spark 2.3 引入了 pandas 矢量化 UDF,这正是您正在寻找的东西:以分布式方式对分组的 Spark DataFrame 执行自定义 pandas 转换,并且由于 PyArrow 序列化而具有出色的性能。

获取更多信息和示例。

关于python - 使用 PySpark 并行自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51444830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com