有没有办法我可以在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|
+--------+-----------+-----------+
答案 0 :(得分:0)
除非数据已经被emp_name
分区了(在您的情况下还没有,并且这样的分区将需要随机播放)或从emp_name
存储桶的表中加载了数据(与之前)将数据重塑为所需格式,例如使用数据透视
df.groupBy("emp_name").pivot("class", [True, False]).sum()
需要洗牌。