Dyl*_*ees 5 python apache-spark pyspark
当尝试创建布尔列时,如果其他两列相等则为 True,否则为 False,我注意到 Spark 中的 Null == Null = False。
df.withColumn('newCol', F.when(F.col('x')==F.col('y'), True).otherwise(False))
Run Code Online (Sandbox Code Playgroud)
这个:https: //spark.apache.org/docs/3.0.0-preview/sql-ref-null-semantics.html 建议如果我使用 SQL 语法,我可以使用 <=>,但我希望坚持使用pyspark sql api 如果可以的话。
df.withColumn('newCol', F.when(F.col('x')<=>F.col('y'), True).otherwise(False))
Run Code Online (Sandbox Code Playgroud)
似乎不起作用。
有没有人有什么建议?
小智 6
查看pyspark.sql.Column.eqNullSafe: https: //spark.apache.org/docs/3.1.1/api/python/reference/api/pyspark.sql.Column.eqNullSafe.html