【发布时间】:2021-12-24 13:55:09
【问题描述】:
我是 PySpark 的初学者。假设我有一个像这样的 Spark 数据框:
test_df = spark.createDataFrame(pd.DataFrame({"a":[[1,2,3], [None,2,3], [None, None, None]]}))
现在我希望过滤数组不包含 None 值的行(在我的情况下只保留第一行)。
我试过用:
test_df.filter(array_contains(test_df.a, None))
但是它不起作用并抛出错误:
AnalysisException: “无法解析 'array_contains(
a, NULL)' 由于 数据类型不匹配:空类型值不能用作 arguments;;\n'Filter array_contains(a#166, null)\n+- LogicalRDD [a#166],假\n
我应该如何以正确的方式过滤?非常感谢!
【问题讨论】:
标签: apache-spark pyspark apache-spark-sql