SparkSQL条件函数

  • 文档创建者:Roxy
  • 历史版本:3
  • 最近更新:Roxy 于 2023-06-19
  • 1. 概述

    本文介绍 SparkSQL 中的条件函数语法。

    2. IF-条件判断

    推荐使用FineDataLink 新增计算列中的 IF-条件判断 函数。

    操作示例详情参见:新增列_条件赋值

    3. NVL

    格式:NVL(T value, T default_value)

    如果 value 值为 NULL 就返回 default_value,否则返回 value。 

    示例:

    原表中「货主名称」包含 NULL,如下图所示:

    使用 SparkSQL ,如果「货主名称」为 NULL ,则返回 未知,否则返回已有值,如下图所示:

    select `订单ID` ,nvl(`货主名称` ,"未知") from DB表输入

    结果如下:

    4. COALESCE 条件 

    COALESCE(T v1, T v2, ...):返回第一非 NULL 的值,如果全部都为 NULL 就返回 NUL。 

    示例:

    原表中「货主地址」和「货主地区」均包含 NULL,如下图所示:

    使用 SparkSQL ,返回第一个非 NULL 值,如下图所示:

    select `货主地址`,`货主地区`,coalesce(`货主地址` ,`货主地区` ) from DB表输入

    结果如下图所示:

    5. CASE 分组赋值

    推荐使用FineDataLink 新增计算列中的 SWITCH 函数。

    示例详情参见:新增列_分组赋值

    6. 空值处理

    在 FineDataLink 中可以用 数据过滤 实现

     isnull( a ):如果 a 为 NULL 就返回 true,否则返回 false。

     数据过滤 中为如下操作:

     is not null ( a ):如果 a 为非 NULL 就返回 true,否则返回 false。 

     数据过滤 中为如下操作:






    附件列表


    主题: 数据开发-定时任务
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!