private[this] def emptySketches()

in src/main/scala/com/amazon/deequ/analyzers/runners/KLLRunner.scala [124:148]


  private[this] def emptySketches(
      columnsAndParameters: Map[String, Option[KLLParameters]],
      schema: StructType): Map[String, UntypedQuantileNonSample] = {

    columnsAndParameters.map { case (column, parameters) =>

      val (sketchSize, shrinkingFactor) = parameters match {
        case Some(kllParameters) => (kllParameters.sketchSize, kllParameters.shrinkingFactor)
        case _ => (KLLSketch.DEFAULT_SKETCH_SIZE, KLLSketch.DEFAULT_SHRINKING_FACTOR)
      }

      val sketch: UntypedQuantileNonSample = schema(column).dataType match {
        case DoubleType => new DoubleQuantileNonSample(sketchSize, shrinkingFactor)
        case FloatType => new FloatQuantileNonSample(sketchSize, shrinkingFactor)
        case ByteType => new ByteQuantileNonSample(sketchSize, shrinkingFactor)
        case ShortType => new ShortQuantileNonSample(sketchSize, shrinkingFactor)
        case IntegerType => new IntQuantileNonSample(sketchSize, shrinkingFactor)
        case LongType => new LongQuantileNonSample(sketchSize, shrinkingFactor)
        // TODO at the moment, we will throw exceptions for Decimals
        case _ => throw new IllegalArgumentException(s"Cannot handle ${schema(column).dataType}")
      }

      column -> sketch
    }
  }