我有一个特殊的要求,如下所示对数据进行非规范化:
来源数据框:Key, item_desc
目标数据框:Key, item_desc1, item_desc2, item_desc3, item_desc4
对于源数据帧中的每4条记录,我应该在目标数据帧上创建一条记录。
源数据:
Key, item_desc
1, desc1
1, desc2
1, desc3
1, desc4
1, desc5
1, desc6
目标数据:
key, item_desc1, item_desc2, item_desc3, item_desc4
1, desc1, desc2, desc3, desc4
1, desc5, desc6
任何人都可以指导我如何编写此代码吗? 我已经在scala上做了一个示例代码,如下所示:
var l = (1 to 102).toList
var n = ""
var j = 1
for (i <- l){
n = n + l(j) + ","
if (j%4 == 0) {
println(n)
n = ""
}
if (j+1 == l.size) println(n)
j = j+1
}
但是,我应该将此逻辑应用于dataframe / rdd / list。
请帮助我!
答案 0 :(得分:1)
您可以尝试这样的事情:
vbSystemModal
但是除非与单个键相关联的值的数量很小,否则它不会很好地缩放,因此使用风险自负。