хотел бы сравнить столбец данных со значением.Я пытался преобразовать значение и использовать lit()
, но безрезультатно.Ниже я прилагаю свою версию в жестком коде, но она не удовлетворяет требованиям.
object Analyzer {
def main(args: Array[String]): Unit = {
// my lav used to comare with column
val minEfficiency: Double = 0.9
// I would like compare column with declared val
// here is hardcoded (poor) version
val metrics = dataframe.withColumn("State",
when($"Efficiency" >= 0.9, "ok").otherwise("not ok")
)
}
}
Информация о кадре:
scala> dataframe.printSchema()
root
|-- SensorId: integer (nullable = true)
|-- Efficiency: double (nullable = true)
scala> dataframe.show()
+--------+-----------+
|SensorId| Efficiency|
+--------+-----------+
| 1| 0.356|
| 2| 0.99|
| 3| 1.0|
| 4| 0.256|
| 5| 0.9|
+--------+-----------+