我必须在pyspark数据框上执行2级分组。 我试探性的:将pyspark分组的数据对象转换为火花Dataframe
grouped_df=df.groupby(["A","B","C"])
grouped_df.groupby(["C"]).count()
,但我得到了以下错误:
'GroupedData' object has no attribute 'groupby'
我想我应该分组的对象首先转换成pySpark DF。但我不能那样做。
有什么建议吗?
我必须在pyspark数据框上执行2级分组。 我试探性的:将pyspark分组的数据对象转换为火花Dataframe
grouped_df=df.groupby(["A","B","C"])
grouped_df.groupby(["C"]).count()
,但我得到了以下错误:
'GroupedData' object has no attribute 'groupby'
我想我应该分组的对象首先转换成pySpark DF。但我不能那样做。
有什么建议吗?
我有同样的问题。我解决这个问题的方法是先在第一个groupby之后做一个“count()”,因为它返回一个Spark DataFrame而不是GroupedData对象。然后你可以在返回的DataFrame上做另一个groupby。
所以尝试:
grouped_df=df.groupby(["A","B","C"]).count()
grouped_df.groupby(["C"]).count()
您应该将聚合函数应用到您的第一个groupBy
。
grouped_df= df.groupby(["A","B","C"]).count()
g_grouped_df = grouped_df.groupby(["C"]).count()
为什么需要分组的2级?你可以发布你的输入和输出.. – Suresh