【问题标题】:Pyspark DF groupBy giving error - TypeError: 'NoneType' object is not iterablePyspark DF groupBy 给出错误 - TypeError: 'NoneType' object is not iterable
【发布时间】:2021-06-18 09:49:07
【问题描述】:

我有一个 Pyspark 数据框,其架构定义为

最后 4 列 - genres_value,production_companies_values,production_countries_valuesspoken_languages_values 是解析 Json 字符串后的派生列,然后添加到原始数据帧中。

我正在尝试以 df2.groupBy("production_countries_values").count().show() 运行 groupBy,但它的抛出错误 - 'NoneType' 对象不可迭代。

我在列上尝试了 'select'、'filter' ,但这些命令返回没有任何错误,而在解析后添加的所有四个新列上的 groupBy 都抛出相同的错误 - 'NoneType' 对象不可迭代。 Groupby 在 DF 的其他列上工作。

命令 - df2.where(col('production_countries_values')=='unknown').show() 也抛出错误“NoneType”对象不可迭代

【问题讨论】:

    标签: python pyspark apache-spark-sql


    【解决方案1】:

    似乎 production_countries_values 列具有 Null 值,因此您不能将 Null 列组合在一起。您可以使用 when 条件并将 Null 值替换为某个默认值,然后 group-by 将起作用。

    【讨论】:

    • 它没有空值。当我尝试命令 - df2.where(col('production_countries_values')=='unknown').show() 时,它也给出了同样的错误 - 'NoneType' 对象不可迭代。某些功能适用于“选择”等列,而有些则不起作用。
    猜你喜欢
    • 1970-01-01
    • 2022-08-18
    • 2018-02-01
    • 1970-01-01
    • 2017-10-14
    • 2017-08-01
    • 2022-08-04
    • 2022-12-15
    • 2014-02-17
    相关资源
    最近更新 更多