数据治理-Doris-别名函数和存储过程
目的记录使用Doris进行数据治理过程中的经验技巧别名函数数据治理-SQL生产过程中需要将大量常用到的数据加工逻辑简化为单个函数以精简SQL语句提升可读性和可维护性。Doris中创建函数的方法有两种1、UDF方式使用Java/Python等语言编写代码打包后注册到Doris2、别名函数方式组合已有的函数创建别名函数UDF方式较别名函数性能低、灵活度高、开发成本略高。因此需要自定义函数时应优先考虑别名函数别名函数无法满足需求时再考虑UDF示例1、as_mac()函数使用场景将原始层非标准的MAC地址标准化读者可参考后自行按需实现掩码函数、IP地址标准化函数等2、ratio()函数使用场景专题层指标加工时需要计算百分比的场景分母可能是0此时要返回一个默认值-- 创建别名函数 as_mac(String), 用于将小写、带-连接符、带:连接符的mac统一转换为大写无分隔符的格式。该函数用于ODS层数据治理createglobalaliasfunctionas_mac(String)withparameter(foo)asUPPER(REGEXP_REPLACE(foo,-|:,));-- 创建别名函数 ratio, 用于实现除法当分母等于0结果为默认值否则结果分子/分母。该函数常用于指标计算createglobalaliasfunctionratio(Float,Float,Float)withparameter(fen_zi,fen_mu,mo_ren_zhi)asif(fen_mu0,mo_ren_zhi,fen_zi/fen_mu);-- 使用别名函数selectas_mac(1d-a6-2e-8B-35-4B);selectratio(10,20,100);存储过程在Doris 3.0版本中存储过程还是不成熟的功能未出现在官方文档中这里只是做下探索记录以备不时之需-- 删除存储过程dropproceduregetDictItemName;-- 创建存储过程createproceduregetDictItemName(INdict_type_code string,-- 输入参数字典类型代码INdict_item_code string-- 输出参数字典项代码)beginselectzdxmcfrompublic.std_dict_itemwherezdlxdmdict_type_codeandzdxdmdict_item_code;end;-- 调用存储过程返回字典项名称 如男性callgetDictItemName(A00036,02);
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2442297.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!