RDD使用map函數返回多行的解決辦法,scala語言

map函數通常爲1行數據處理得到1行數據,有時候需要rdd中的一條數據經過處理後可能需要返回一行以上的數據,有一種比較妥協的解決辦法:

平時rdd的map函數返回的是一個tuple,也就是一行數據,現在可以將返回的類型設置爲含有多個tuple元素ArrayBuffer,例如

比如我們現在有一個rdd叫 inputrdd

var newrdd: RDD[ArrayBuffer[(String, String, String)]] = inputrdd.map(r=>{
	var rtn = ArrayBuffer[(String, String, String, String, String, String)]()
	arrr.append(("aaa","bbb","ccc"))
	arrr.append(("ddd","eee","fff"))
	rtn
})

這樣rdd中的一行數據就可以返回多行數據了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章