我想創建一個函數,稍後可以使用三個不同的RDD數據集。 函數採用鍵和值,並將其轉換到SEQ [字符串]創建spark函數,接受key,value作爲argumets並返回RDD [string]?
def ConvertToMap2(value: RDD[(String, (String,String,String,String,String,String))]): Seq[String] = {
value.collect().toMap.values.toSeq.map(x => x.toString.replace("(","").replace(")",""))
}
當我試圖通過一個數據應用設置它的確定,因爲它與6個值例如一個鍵: -
val StatusRDD=ConvertToMap(FilterDataSet("1013").map(x => ((x(5)+x(4)),(x(5),x(4),x(1),x(6),x(7),x(8)))))
但我嘗試應用另一個數據集,我需要我們編寫函數,因爲其他數據集包含7個值,其中一個鍵用於重寫相同邏輯但名稱不同的函數。
def ConvertToMap2(value: RDD[(String,(String,String,String,String,String,String,String))]): Seq[String] = {
value.collect().toMap.values.toSeq.map(x => x.toString.replace("(","").replace(")",""))
}
val LuldRDD2=ConvertToMap2(FilterDataSet("1041").map(x => ((x(5)+x(4)),(x(5),x(4),x(1),x(6),x(7),x(8),x(9)))))
有沒有一種方法可以爲兩者編寫一個函數,它只接受一個鍵的6或7個字符串值?還是我可以擴展我的功能?