Deequ满足未按预期运行的函数



我正在使用pydeequ对数据进行一些检查,但它的行为并不像预期的那样。我的一列应该包含0到1之间的任何值。数据看起来像这个

|col 1      |
| 0.5635412 |
| 0.123     |
| 1.0       |

check = Check(spark, CheckLevel.Warning, "DQ Check")
result = VerificationSuite(spark)
.onData(df)
.addCheck(check
.satisfies("col1 BETWEEN 0 AND 1", "range check", lambda x: x==1))
.run()
result_df = VerificationResult.checkResultsAsDataFrame(spark, result)

结果是返回一个带有消息的故障

值:0.5635412不符合约束要求!

有人能告诉我哪里出了问题吗?

我意识到数据中有几个我没有预料到的空值。

已将代码更新为

check = Check(spark, CheckLevel.Warning, "DQ Check")
result = VerificationSuite(spark)
.onData(df)
.addCheck(check
.satisfies("col1 BETWEEN 0 AND 1 OR col1 IS NULL", "range check", lambda x: x==1))
.run()
result_df = VerificationResult.checkResultsAsDataFrame(spark, result)

最新更新