有没有办法在pyspark中隐藏我的df,看起来像,
df = sc.parallelize([
['Naman', True,200],
['Jason', True,100],
['Jason', False,200],
['Omar', True,100],
['Omar', False,200],
['Omar', True,200],
['Naman', False,200]
]).toDF(('emp_name', 'class','score'))
df.show()
如果可能的话,没有 groupby,但是,它已经在唯一的类和emp_name级别聚合,只是我想创建一个额外的列并将emp_name行减少到唯一级别。
+--------+-----------+-----------+
|emp_name|class1Score|class2Score|
+--------+-----------+-----------+
| Naman| 200| 200|
| Jason| 100| 200|
| Omar| 200| 200|
+--------+-----------+-----------+
除非数据已经按emp_name
分区(在您的情况下不是,并且这样的分区需要随机(或者数据是从由emp_name
(与之前相同(将数据整形为所需格式的表中加载的(与之前相同(将数据整形为所需格式,例如使用 pivot
df.groupBy("emp_name").pivot("class", [True, False]).sum()
将需要洗牌。