【发布时间】:2019-01-22 07:22:09
【问题描述】:
我们正在研究 Spark SQL。我们正在使用一些可以为空的字符串字段进行排名。
问题是:在 Spark SQL 中,null 值排在第一位。但是,我们希望null 值最终出现。因此,我们应用了 CASE WHEN 逻辑。由于我们有 Unicode 数据,“ZZZZZZZZ”最终不会出现。它将在日语、中文地址行之前。
请告诉我们,对于空字符串值使用哪个字符串常量文字,以便它们在 ORDER BY 的情况下出现在最后。
我在下面放了示例代码。
SELECT CompanyName,
ROW_NUMBER() OVER
(
PARTITION BY O.CompanyName
ORDER BY
CASE WHEN AddressLine1 IS NOT NULL THEN AddressLine1 ELSE "ZZZZZZZZ" END ASC
) AS BestDataForCompany
FROM CompanyData
【问题讨论】:
标签: apache-spark unicode null apache-spark-sql databricks