Я пишу функцию проверки, которая должна проверить, что:
- A
Dataset<Row> ds
имеет столбцы col1
и col2
. Может содержать и другие столбцы.
- Убедитесь, что в
col1
и col2
.
Код должен быть кодом Java. Вот что у меня пока
private static boolean isSleepDataValid(SparkSession spark, Dataset<Row> ds) {
ds.createOrReplaceTempView("validityData");
if (spark.sql("SELECT col1 FROM validityData WHERE col1 IS NULL").count() > 0) {
return false;
}
if (spark.sql("SELECT col2 FROM validityData WHERE col2 IS NULL").count() > 0) {
return false;
}
return true;
}
Однако это безобразно, и я ищу более приятный и чистый способ. Я хотел бы избежать SparkSession spark
в сигнатуре и SQL в теле функции.