我是新接触数据库的,所以如果我听起来很愚蠢,请原谅我。我有一个需求,我正在对数据框进行验证,我目前已经为每个验证定义了函数,比如一个用于空值检查的函数,一个用于Date_range的函数,每次我的函数满足验证规则时,它都应该在Validation_remark列中标记1,如下所示
Name ID Date_of Birth position Validation remarks
dam 1 02-04-1992 Manager
dana 02-04-1992 Associate 1
rich 3 02-04-1992 VP
danial 4 02-04-1992 CEO
mathew 02-04-1910 Manager 1
但这里的问题是我不知道函数为什么把它标记为1,是因为ID列为空还是因为Date_of_birth os〉100年,或者两者都有。
所以我想知道我是否可以附加如下的原因。
Name ID Date_of Birth position Validation remarks
dam 1 02-04-1992 Manager
dana 02-04-1992 Associate ID id null
rich 3 02-04-1992 VP
danial 4 02-04-1992 CEO
mathew 02-04-1910 Manager ['ID is null', 'Date_of_Birth is > 100 years']
即,如果行的ID为空,则注意,如果其出生日期〉100年,则将该值添加为late,如上所述。
我只想知道如何将值附加到验证备注
2条答案
按热度按时间v8wbuo2f1#
您可以在PySpark中使用一个定制的udf函数来完成这项工作。
pieyvz9o2#
以下是我的两分钱:
1.创建 Dataframe 如下:
1.将所有条件放入列表(cond_result_list):
1.打印 Dataframe :