我正在尝试通过 Java 实现 Amazon Deequ 功能。
我正在尝试添加数据类型包含,但无法从 java 传递第三个参数(断言)
com.amazon.deequ.constraints.Constraint constrains = Constraint.dataTypeConstraint("test", ConstrainableDataTypes.Numeric(), ?,x);
scala中的方法声明如下
* @param column Column to compute the data type distribution for.
* @param dataType The data type that should be checked in the assertion.
* @param assertion Function from the ratio of the data type in the specified column to boolean.
* @param hint A hint to provide additional context why a constraint could have failed
* @return
*/
def dataTypeConstraint(
column: String,
dataType: ConstrainableDataTypes.Value,
assertion: Double => Boolean,
hint: Option[String] = None)
: Constraint = {
最佳答案
在 Java 中,您应该能够通过实现 AbstractFunction1
并将其作为参数传递来调用 dataTypeConstraint
:
scala.Function1<Double, Boolean> function = new scala.runtime.AbstractFunction1<Double, Boolean>() {
public Boolean apply(Double value) {
// implement the actual assertion here
return value >= 0;
}
};
Constraint.dataTypeConstraint("column", dataType, function, scala.Option.apply("a hint"));
关于java - 如何从 java 调用 Amazon Deequ hasDataType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60955449/