मैं कर रहा हूँ नई स्पार्क में, स्काला, तो के लिए खेद बेवकूफ सवाल है । तो मैं एक तालिकाओं की संख्या:
table_a, table_b, ...
और की संख्या, इसी प्रकार इन के लिए टेबल
मामला वर्ग classA(...), के मामले में वर्ग 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))
अग्रिम में धन्यवाद!