开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

DataWorks创建完sql自定义函数之后 就看不到列表 只能通过查询查到?

DataWorks创建完sql自定义函数之后 就看不到列表 只能通过查询查到,还有一个问题是 自定义函数可以声明参数传入的字段为null么 就是适配字段行不存在的情况?

展开
收起
cuicuicuic 2023-11-07 17:57:36 44 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在DataWorks中,您可以通过如下步骤来访问自定义函数:

    1. 登录到您的DataWorks账号并打开所需项目。
    2. 点击“工作台”,然后点击“全局资源”下的“自定义函数”菜单项。
    3. 您将在新的页面中看到所有已注册的自定义函数列表。

    请注意,只有在登录状态下才能查看自定义函数列表。
    至于您的第二个问题,在自定义函数中声明参数为NULL是可以接受的。如果该参数对应的数据表行不存在,则自定义函数可以接受NULL值,并对其进行处理。
    例如,您可以编写如下SQL语句来声明允许NULL参数:

    CREATE FUNCTION my_function(my_param VARCHAR NULL)
    RETURNS VARCHAR
    BEGIN ATOMIC
       DECLARE result VARCHAR;
       ...
    END;
    

    在此示例中,“my_param”参数可以接收NULL值,并且该函数可以正常执行,即使该参数对应的数据表行不存在也是如此。

    2023-11-08 14:15:51
    赞同 展开评论 打赏
  • 创建完 SQL 自定义函数后,在 DataWorks 的 Web 控制台上可能会有一段时间延迟才能看到该函数,通常可以在几分钟内刷新界面就能看到。
    至于第二个问题,可以声明 SQL 自定义函数的参数为 NULL,并适配字段行不存在的情况。例如,您可以使用 ISNULL 函数来判断输入值是否为 NULL,如果是的话就返回另一个值。以下是基本示例:

    CREATE FUNCTION check_null(IN x INT)
    RETURNS INT
    BEGIN
      RETURN IF(ISNULL(x), 0, x);
    END;
    

    在这个示例中,如果输入的 x 为 NULL,则返回 0;否则返回 x 的值。
    请注意,需要正确使用 ISNULL 函数,以便使自定义函数能够正确处理 NULL 输入

    2023-11-07 22:19:18
    赞同 1 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks调度任务迁移最佳实践-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks商业化资源组省钱秘籍-2020飞天大数据平台实战应用第一季 立即下载