如何在 PyDeequ 中使用 hasUniqueness 检查?
How to use hasUniqueness check in PyDeequ?
我使用 PyDeequ 来保证数据质量,我想检查一组列的唯一性。有一种检查方法 hasUniqueness
但我不知道如何使用它。
我正在尝试:
check.hasUniqueness([col1, col2], ????)
但是我们应该在这里使用什么来代替断言函数来代替????
?
有人试过检查hasUniqueness
列的组合吗?
hasUniqueness
接受一个接受 in/float 参数和 returns 布尔值的函数:
Creates a constraint that asserts any uniqueness in a single or
combined set of key columns. Uniqueness is the fraction of unique
values of a column(s) values that occur exactly once.
这是一个用法示例:
df.show()
#+---+---+
#| a| b|
#+---+---+
#|foo| 1|
#|bar| 0|
#|baz| 1|
#|bar| 0|
#+---+---+
在此数据框中,列 a
和 b
的组合有 2 个值恰好出现一次 (foo, 1)
和 (baz, 1)
,因此此处 Uniqueness = 0.5
。让我们使用检查约束来验证它:
from pydeequ.checks import CheckLevel, Check
from pydeequ.verification import VerificationResult, VerificationSuite
result = VerificationSuite(spark).onData(df).addCheck(
Check(spark, CheckLevel.Warning, "test hasUniqueness")
.hasUniqueness(["a", "b"], lambda x: x == 0.5)
).run()
result_df = VerificationResult.checkResultsAsDataFrame(spark, result)
result_df.select("constraint_status").show()
#+-----------------+
#|constraint_status|
#+-----------------+
#| Success|
#+-----------------+
我使用 PyDeequ 来保证数据质量,我想检查一组列的唯一性。有一种检查方法 hasUniqueness
但我不知道如何使用它。
我正在尝试:
check.hasUniqueness([col1, col2], ????)
但是我们应该在这里使用什么来代替断言函数来代替????
?
有人试过检查hasUniqueness
列的组合吗?
hasUniqueness
接受一个接受 in/float 参数和 returns 布尔值的函数:
Creates a constraint that asserts any uniqueness in a single or combined set of key columns. Uniqueness is the fraction of unique values of a column(s) values that occur exactly once.
这是一个用法示例:
df.show()
#+---+---+
#| a| b|
#+---+---+
#|foo| 1|
#|bar| 0|
#|baz| 1|
#|bar| 0|
#+---+---+
在此数据框中,列 a
和 b
的组合有 2 个值恰好出现一次 (foo, 1)
和 (baz, 1)
,因此此处 Uniqueness = 0.5
。让我们使用检查约束来验证它:
from pydeequ.checks import CheckLevel, Check
from pydeequ.verification import VerificationResult, VerificationSuite
result = VerificationSuite(spark).onData(df).addCheck(
Check(spark, CheckLevel.Warning, "test hasUniqueness")
.hasUniqueness(["a", "b"], lambda x: x == 0.5)
).run()
result_df = VerificationResult.checkResultsAsDataFrame(spark, result)
result_df.select("constraint_status").show()
#+-----------------+
#|constraint_status|
#+-----------------+
#| Success|
#+-----------------+