使用数据框在 pyspark 中获取列 post 分组

get columns post group by in pyspark with dataframes

我看到一些帖子 and 与我的问题相关。然而,在遵循 post1 解决方案时,我 运行 陷入以下错误。

joinedDF = df.join(df_agg, "company")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/spark/python/pyspark/sql/dataframe.py", line 1050, in join
    jdf = self._jdf.join(other._jdf, on, how)
AttributeError: 'NoneType' object has no attribute '_jdf'

整个代码片段

df = spark.read.format("csv").option("header", "true").load("/home/ec2-user/techcrunch/TechCrunchcontinentalUSA.csv")

df_agg = df.groupby("company").agg(func.sum("raisedAmt").alias("TotalRaised")).orderBy("TotalRaised", ascending = False).show()

joinedDF = df.join(df_agg, "company")

第二行末尾有 .show

df_agg = df.groupby("company").agg(func.sum("raisedAmt").alias("TotalRaised")).orderBy("TotalRaised", ascending = False).show()

像这样删除它:

df_agg = df.groupby("company").agg(func.sum("raisedAmt").alias("TotalRaised")).orderBy("TotalRaised", ascending = False)

你的代码应该可以工作。

您对该 df 使用了一个操作并将其分配给 df_agg 变量,这就是为什么您的变量是 NoneType(在 python 中)或 Unit(在 scala 中)