RDD使用map函数返回多行的解决办法,scala语言

僤鯓⒐⒋嵵緔 提交于 2019-12-07 20:41:28

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中的一行数据就可以返回多行数据了。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!