我必須在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