Как вызвать Amazon Deequ hasDataType из java - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь реализовать функциональность Amazon Deequ из Java.

Я пытаюсь добавить типы данных, но не могу передать 3-й параметр (утверждение) из 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 = {

1 Ответ

0 голосов
/ 06 апреля 2020

С Java вы сможете вызвать dataTypeConstraint, реализовав AbstractFunction1 и передав его в качестве аргумента:

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"));
...