我有一個架構如下圖所示,這是在這個groupby
星火不能調用一個函數形式.Withcolumn
root
|
|-- usedServiceUnits: array (nullable = true)
| |-- element: string (containsNull = true)
|-- accumulators: array (nullable = true)
| |-- element: string (containsNull = true)
價值觀的collect_list
輸出看起來像下面
+----------------+
|usedServiceUnits|
+----------------+
|[180, 180, 1] |==> this is an array of String
|[180, 180, 1] |
+----------------+
我得叫def
在這個領域像
abc.select("serviceId", "recordId", "usedServiceUnits")
.withColumn("usedServiceUnits1",lit(sumAllValuesinString($"usedServiceUnits"))
def sumAllValuesinString(inString: String): String= {
var sum = 0
val DELIM =','
val a = splitString(inString,DELIM)
for (x <- a){
sum += Integer.parseInt(x)
}
sum.toString()
}
我怎樣才能調用這個函數,並得到sum作爲返回並設置到我的新列--usedServiceUnits1。對於功能不同的更多領域,我需要進行類似的計算。所以基本上我正在尋找如何將此傳遞給我的函數或在哪裏更改?
在此先感謝您的建議。
謝謝Ramesh,這對我很有用。 –