You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Check.satisfies method appears to be incompatible with Deequ 2.0.4. That release of Deequ includes a new optional columns parameter for the Check.satisfies() function per PR 478.
To Reproduce
Run the following code:
frompydeequimport*check=Check(spark, CheckLevel.Warning, "Test")
check.satisfies("Field == 1", "Field", lambdax: x==1, "Field should be equal to 1")
Expected behavior
A new compliance constraint is added to the check.
Actual behavior
Py4J reports a missing method:
Py4JError: An error occurred while calling o31.satisfies. Trace:
py4j.Py4JException: Method satisfies([class java.lang.String,
class java.lang.String, class com.sun.proxy.$Proxy16, class scala.Some]) does not exist
Versions
Spark: 3.0.1
PyDeequ 1.1.1
Deequ 2.0.4 (deequ-2.0.4-spark-3.3)
Additional context
As a workaround, it looks like one can hotpatch the code. I'm not very familiar with Py4J, Pydeequ, or Deequ so not sure if this is the best long-term solution:
Actually I cannot reproduce this with SPARK_VERSION=3.3 and com.amazon.deequ:deequ:2.0.3-spark-3.3.
Due to breaking API issues (introduced by Scala), Deequ 2.0.4 is currently not supported. We will discuss internally to fix those issues in Scala land.
The Check.satisfies method appears to be incompatible with Deequ 2.0.4. That release of Deequ includes a new optional
columns
parameter for the Check.satisfies() function per PR 478.To Reproduce
Run the following code:
Expected behavior
A new compliance constraint is added to the check.
Actual behavior
Py4J reports a missing method:
Versions
Additional context
As a workaround, it looks like one can hotpatch the code. I'm not very familiar with Py4J, Pydeequ, or Deequ so not sure if this is the best long-term solution:
The text was updated successfully, but these errors were encountered: