ребята, у меня есть эта пользовательская функция, чтобы проверить, являются ли строки текста пустыми:
import org.apache.spark.sql.SparkSession
val spark = SparkSession.builder().master("local").getOrCreate()
import spark.implicits._
{{{
val df = Seq(
(0, "","Mongo"),
(1, "World","sql"),
(2, "","")
).toDF("id", "text", "Source")
// Define a "regular" Scala function
val checkEmpty: String => Boolean = x => {
var test = false
if(x.isEmpty){
test = true
}
test
}
val upper = udf(checkEmpty)
df.withColumn("isEmpty", upper('text)).show
}}}
Я на самом деле получаю этот фрейм данных:
+---+-----+------+-------+
| id| text|Source|isEmpty|
+---+-----+------+-------+
| 0| | Mongo| true|
| 1|World| sql| false|
| 2| | | true|
+---+-----+------+-------+
Как я могпроверить все строки на наличие пустых значений и вернуть сообщение, например:
id 0 содержит текстовый столбец с пустыми значениями
id 2 содержит текст, исходный столбец с пустыми значениями