pyspark 将T-SQL ISNULL函数逻辑复制到SparkSQL

zhte4eai  于 2024-01-06  发布在  Spark
关注(0)|答案(2)|浏览(186)

我使用数据块来连接一些在ADLS中存储为parquet文件的表。我导入文件,将数据块保存为TEMP VIEW,然后在spark.sql(“)中构建JOIN的语法。
在Join中,我必须复制一些以前由我的同事开发的SQL代码,这些代码以这种方式使用T-SQL ISNULL函数:ISNULL(titledict.Category_Level_1, urldict.Category_Level_1)基本上他们给出了替换值,我不能用SparkSQL的ISNULL函数做的事情。“titledict”和“urldict”是整个SQL JOIN逻辑中两个表的别名。这将是从T复制ISNULL函数的最佳方式-在这种情况下,SQL?

hgncfbus

hgncfbus1#

有一个coalesce函数也是这样做的。如果第一个值为null,它将返回第二个值。

  1. df.withColumn('test', coalesce(col('test_value'), lit('Fallback value')))

字符串

cs7cruho

cs7cruho2#

Ifnull(expr1,expr2)如果expr1为null,则返回expr2,否则返回expr1。For eg在数据块SQL中用零替换空值

  1. Select ifnull(Null, 0) --returns 0

字符串

相关问题