Как узнать тип данных результата оценки на основе схемы - PullRequest
0 голосов
/ 16 декабря 2018

У меня есть выражение SQL и тип схемы ввода.Основываясь на этих двух данных, представляется возможным вычесть тип результата, когда выражение применяется к фрейму данных со схемой.Как узнать тип результата без явного создания фрейма данных с заданной схемой.

Я в основном хочу выполнить следующий метод:

def resultType(sqlExpression: String, schema: StructType): DataType = {

}

Один из способов достижения этого:

def createEmptyDataFrame(schema: StructType): DataFrame = {
    val spark = SparkSession.builder().getOrCreate()
    val dummyRDD = spark.sparkContext.parallelize(Seq(Row.empty))
    spark.createDataFrame(dummyRDD, schema)
}

def resultType(sqlExpression: String, schema: StructType): DataType = {
    val df = createEmptyDataFrame(schema)
    val result = df.withColumn("temp", expr(sqlExpression))
    result.schema("temp").dataType
}

Как этого добиться, не создавая пустой фрейм данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...