У меня есть Dataframe, для которого я хочу выполнить простой запрос, например:
def runQuery(df: DataFrame, queryString: String): DataFrame = {
df.createOrReplaceTempView("myDataFrame")
spark.sql(queryString)
}
Где queryString может быть что-то вроде
"SELECT name, age FROM myDataFrame WHERE age > 30"
Но я бы очень хотелзаранее знать, будет ли работать запрос без исключения.Например, что если df
не имеет столбцов name
и age
?Я хочу написать что-то вроде этого, чтобы справиться с этим:
def runQuery(df: DataFrame, queryString: String): DataFrame = {
if (/*** df and queryString are compatible ***/) {
df.createOrReplaceTempView("myDataFrame")
spark.sql(queryString)
} else {
spark.createDataFrame(sc.emptyRDD[Row], df.schema)
}
}
Есть ли способ проверить это в операторе 'if'?