У меня есть некоторые данные, имитирующие следующую структуру:
rdd = sc.parallelize(
[
(0,1),
(0,5),
(0,3),
(1,2),
(1,3),
(2,6)
]
)
df_data = sqlContext.createDataFrame(rdd, ["group","value"])
df_data.show()
+-----+-----+
|group|value|
+-----+-----+
| 0| 1|
| 0| 5|
| 0| 3|
| 1| 2|
| 1| 3|
| 2| 6|
+-----+-----+
Я хотел бы повернуть эти данные по группам, чтобы показать наличие значений 'value' следующим образом:
+-----+-------+-------+-------+-------+-------+
|group|value_1|value_2|value_3|value_5|value_6|
+-----+-------+-------+-------+-------+-------+
| 0| true| false| true| true| false|
| 1| false| true| true| false| false|
| 2| false| false| false| false| true|
+-----+-------+-------+-------+-------+-------+
Есть ли какой-нибудь способ, которым я мог бы добиться этого с PySpark?
Я пробовал комбинацию groupby / pivot / agg без какого-либо успеха.