首页 > 解决方案 > PySpark 使用来自另一个 DataSet 的值评估存储在 DataSet 列中的公式

问题描述

我有一个数据集(主)在列中存储一个公式:

ID | Formula
1    (a/(b+c))*100
2    m/n*100
3    d

另一个包含值的数据集(val):

ID  |  Value
a      4
b      3
c      8
d      7
m      2
n      5

我需要使用 val 数据集中的值评估公式,并将结果保存到新的主列中。

我通过逐行迭代主数据集来做到这一点,创建一个变量来存储一个包含所有公式参数的列表,用值替换参数并进行评估。然后我使用 .withColumn 将结果添加到主数据集。但这对于大量数据来说根本不是最优的。

您能否帮助我提示我如何在不逐行迭代的情况下做到这一点?

谢谢!

标签: pythonpysparkdataset

解决方案


推荐阅读