我们的项目中有一个 Azkaban 属性,它看起来像这样date" : "$(new("org.joda.time.DateTime").parse(...).toString("yyyy-MM-dd"))
,用作 spark 作业的参数。该命令(在流日志中)已经评估了表达式,但生成的 Azkaban 文件(因为这是在 gradle 中定义的)仍然包含代码字符串。
我找不到任何关于它是如何工作的。谷歌搜索没有帮助。文档中没有提到这个功能(关于$(...)
参数)。
我们的项目中有一个 Azkaban 属性,它看起来像这样date" : "$(new("org.joda.time.DateTime").parse(...).toString("yyyy-MM-dd"))
,用作 spark 作业的参数。该命令(在流日志中)已经评估了表达式,但生成的 Azkaban 文件(因为这是在 gradle 中定义的)仍然包含代码字符串。
我找不到任何关于它是如何工作的。谷歌搜索没有帮助。文档中没有提到这个功能(关于$(...)
参数)。
如果您查看PropsUtils.java文件,您可以看到该方法实际上resolveVariableExpression(final String value, final int last, final JexlEngine jexl)
使用JexlEngine
.
我认为应该将这种功能添加到文档中。