Je suis nouveau dans Spark, Scala, donc désolé pour la question stupide. J'ai donc un certain nombre de tables:
table_a, table_b, ...
et le nombre de types correspondants de ces tables
classe de cas de classA(...), la classe de cas de classB(...), ...
Alors j'ai besoin d'écrire une des méthodes de lire les données à partir de ces tables et créer un dataset:
def getDataFromSource: Dataset[classA] = {
val df: DataFrame = spark.sql("SELECT * FROM table_a")
df.as[classA]
}
De même pour d'autres tables et des types. Est-il possible d'échapper à la routine, code - je veux dire personne fucntion pour chaque table et s'en sortir avec un? Par exemple:
def getDataFromSource[T: Encoder](table_name: String): Dataset[T] = {
val df: DataFrame = spark.sql(s"SELECT * FROM $table_name")
df.as[T]
}
Puis créer une liste de paires (table_name, type_name):
val tableTypePairs = List(("table_a", classA), ("table_b", classB), ...)
Puis l'appeler en utilisant foreach:
tableTypePairs.foreach(tupl => getDataFromSource[what should I put here?](tupl._1))
Merci à l'avance!