在将函数应用于 PySpark DataFrame 中的列时检测错误和意外值,在每行的单独列中捕获注释

Detect errors and unexpected values while applying functions to columns in a PySpark DataFrame, capturing comments in a separate column for each row

提问人:Vivek Vadadoriya 提问时间:7/7/2023 最后编辑:Vivek Vadadoriya 更新时间:7/7/2023 访问量:34

问:

我有一个名为 df 的 pyspark 数据帧。df 有 170 列。df 的列名表示函数名称,我们必须在该列上应用该函数。

例如,df 包含 square、cube、rename...等字段。然后我们必须在相应的列上应用这些函数(square(), cube(), rename()....。我根据它们的名称和任务创建了不同的函数。如果在调用时出现任何错误或任何意外值,那么我们会在 python 列表中附加注释,例如“-ve value in square function.” 或 “-ve value in cube function.” 或 “null value in rename function.” 。

因此,在 df 中用 null 值的名称“comments”初始化一列。 现在我的任务是开始将函数应用于他们的名字。应用所有功能后,注释列表要么充满注释,要么为空。现在根据其行号将此注释列表转储到注释字段中。

例如

在 df 的第 1 行中,我们有这样的数据,

正方形 |立方体 |重命名

'一个'|'b' |“嗨”

然后在应用所有函数后,注释列表 = [平方函数中的错误值,立方函数中的错误值]。 将此注释列表转储到 df 注释字段的第 1 行中。

在 df 的第 2 行中,我们有这样的数据,

正方形 |立方体 |重命名

'h'|-1 |“嗨”

然后在应用所有函数后,注释列表 = [Square函数中的错误值]。 将此注释列表转储到 df 注释字段的第 2 行中。

我做的函数和列表的例子是,

注释 = []

def square_func(值): 尝试: 返回值 ** 2 例外情况除外: comments.append(“平方函数中的值错误。 返回值

我尝试过明智地应用函数列,但没有希望采用这种方法。并且不可能按行排列,因为数据量很大。

Python pyspark 科学 大数据 数据操作

评论

0赞 D.L 7/7/2023
这个问题太长了。如何提问
0赞 D.L 7/7/2023
到目前为止,你尝试了什么?该问题需要足够的代码来获得最小的可重现示例

答: 暂无答案