在我的源数据中,我没有任何可以对数据进行分组的类别列。
因此,我想在另一个列(“QNAME”) distinct值的基础上,在Spark dataframe中添加一个新的自定义类别列。我想在group By to Pivot中使用它。
直到现在我还不知道..。如何获得此功能。
假设我有下面的源数据帧
Qname b c d
SPT 1 10 555
MTK 2 20 556
NKP 3 30 557
LKM 4 40 558
SPT 5 50 559
MTK 7 70 561
QRS 6 60 560
NKP 7 70 561
SPT 5 50 559
LKM 7 70 561
QRS 7 70 561
MTK 7 70 561
NKP 7 70 561
因此,在列(“QNAME”)值的基础上,我希望对不同的值组合进行分类。例如,双值为(SPT,MTK,NKP,LKM,QRS)...因此,对于该值的第一次出现将被标记为"aaa",然后第二次出现将被标记为"bbb“,依此类推。
因此,下面是预期的输出。
Category Qname b c d
"aaa" SPT 1 10 555
"aaa" MTK 2 20 556
"aaa" NKP 3 30 557
"aaa" LKM 4 40 558
"bbb" SPT 5 50 559
"bbb" MTK 7 70 561
"aaa" QRS 6 60 560
"bbb" NKP 7 70 561
"ccc" SPT 5 50 559
"bbb" LKM 7 70 561
"bbb" QRS 7 70 561
"ccc" MTK 7 70 561
"ccc" NKP 7 70 561
我正在使用Scala和Spark来做这件事。感谢任何帮助或建议来破解这一点。提前感谢!
https://stackoverflow.com/questions/56514856
复制相似问题