gpt4 book ai didi

hadoop - 检查 Oozie Hive 操作中的 EL 表达式中是否存在变量

转载 作者:可可西里 更新时间:2023-11-01 15:01:20 25 4
gpt4 key购买 nike

我正在尝试为 Oozie 工作流创建一个通用模板,以用于运行不同的配置单元脚本。每个配置单元脚本都有自己的参数。

在Oozie的Hive Action中,使用PARAM标签设置参数时,我需要检查一个变量是否存在,如果不存在,我需要将其默认为“”。

我试过了,

<param>my_parameter_var=${empty my_parameter?" ":my_parameter}</param>  

这仅适用于检查 my_parameter 是否为 null 或空字符串。如果变量根本不存在,则此检查失败;出现以下错误:

Error Code        : EL_ERROR  
Error Message : variable [my_parameter] cannot be resolved

有人可以帮助我实现这一目标吗?

最佳答案

我不确定这是否仍然需要,但以防万一,有一种方法可以结合 firstNotNullwf:conf EL 函数,如下所示。删除 param 元素中开始和结束的空格。

my_parameter_var=${firstNotNull(wf:conf('my_parameter'),' ')}

wf:conf 如果不为空/空/未定义或返回空字符串,则应返回 my_parameter 的值。引用:https://oozie.apache.org/docs/3.2.0-incubating/WorkflowFunctionalSpec.html#a4.2.3_Workflow_EL_Functions

firstNotNull 应返回第一个参数值(如果它不为空/null)或返回第二个参数值。引用:https://oozie.apache.org/docs/3.2.0-incubating/WorkflowFunctionalSpec.html#a4.2.1_Basic_EL_Constants

谢谢。

关于hadoop - 检查 Oozie Hive 操作中的 EL 表达式中是否存在变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32098298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com