Sunt nou in Scânteie, Scala, deci scuze pentru întrebare stupidă. Deci, am o serie de tabele:
table_a, table_b, ...
și numărul de tipurile corespunzătoare pentru aceste tabele
caz clasa classA(...), caz clasa classB(...), ...
Apoi am nevoie pentru a scrie o metode care citește datele din aceste tabele și de a crea setul de date:
def getDataFromSource: Dataset[classA] = {
val df: DataFrame = spark.sql("SELECT * FROM table_a")
df.as[classA]
}
La fel și pentru celelalte mese și tipuri. Există vreo modalitate de a evita rutina codul - adică individuale fucntion pentru fiecare tabel și cu unu? De exemplu:
def getDataFromSource[T: Encoder](table_name: String): Dataset[T] = {
val df: DataFrame = spark.sql(s"SELECT * FROM $table_name")
df.as[T]
}
Apoi, creați o listă de perechi (table_name, type_name):
val tableTypePairs = List(("table_a", classA), ("table_b", classB), ...)
Apoi pentru a apela folosind foreach:
tableTypePairs.foreach(tupl => getDataFromSource[what should I put here?](tupl._1))
Multumesc anticipat!