我在新的火花,斯卡拉,抱歉,愚蠢的问题。 所以我有许多的表:
table_a,table_b,...
和数量对应的类型对这些表
情况类下面(...),情况类classB(...),...
然后我需要编写一个方法读取数据,从这些表格和创建数据集:
def getDataFromSource: Dataset[classA] = {
val df: DataFrame = spark.sql("SELECT * FROM table_a")
df.as[classA]
}
同样对于其他表格和类型。 是否有任何方法,以避免程序的代码-我的意思是单独fucntion每个表并得到通过与一个吗? 例如:
def getDataFromSource[T: Encoder](table_name: String): Dataset[T] = {
val df: DataFrame = spark.sql(s"SELECT * FROM $table_name")
df.as[T]
}
然后创建的列表对(table_name,type_name):
val tableTypePairs = List(("table_a", classA), ("table_b", classB), ...)
然后叫它使用foreach:
tableTypePairs.foreach(tupl => getDataFromSource[what should I put here?](tupl._1))
在此先感谢!