我需要创建一个自定义EL功能并在uri-template(相当于YEAR,MONTH)中使用它。 有可能吗?协调员这个区域的关键配置是oozie-site.xml
?Oozie协调器 - 自定义EL功能
回答
属性oozie.service.ELService.ext.functions.workflow
是您必须将扩展EL功能的所有映射包括到关联的类和方法中的属性。多个映射条目以逗号分隔。
<property>
<name>oozie.service.ELService.ext.functions.workflow</name>
<value>
yourELkey=fully_quallified_class_name#static_method_name
</value>
<description>
EL functions declarations, separated by commas, format is
[PREFIX:]NAME=CLASS#METHOD. This property is a convenience
property to add extensions to the built in executors without
having to include all the built in ones.
</description>
</property>
有关如何打包和部署的更多信息,请参阅this。
编辑:由于您对类似于YEAR,MONTH的协调员的EL函数感兴趣,您可以看看下面的属性(记录在oozie-default.xml中,您需要将它添加到oozie-site。因为前者只是文档) - oozie.service.ELService.functions.coord-job-submit-freq
和oozie.service.ELService.ext.functions.coord-job-submit-freq
。
<property>
<name>oozie.service.ELService.functions.coord-job-submit-freq</name>
<value>
coord:days=org.apache.oozie.coord.CoordELFunctions#ph1_coord_days,
coord:months=org.apache.oozie.coord.CoordELFunctions#ph1_coord_months,
coord:hours=org.apache.oozie.coord.CoordELFunctions#ph1_coord_hours,
coord:minutes=org.apache.oozie.coord.CoordELFunctions#ph1_coord_minutes,
coord:endOfDays=org.apache.oozie.coord.CoordELFunctions#ph1_coord_endOfDays,
coord:endOfMonths=org.apache.oozie.coord.CoordELFunctions#ph1_coord_endOfMonths,
coord:conf=org.apache.oozie.coord.CoordELFunctions#coord_conf,
coord:user=org.apache.oozie.coord.CoordELFunctions#coord_user,
hadoop:conf=org.apache.oozie.action.hadoop.HadoopELFunctions#hadoop_conf
</value>
<description>
EL functions declarations, separated by commas, format is [PREFIX:]NAME=CLASS#METHOD.
</description>
</property>
<property>
<name>oozie.service.ELService.ext.functions.coord-job-submit-freq</name>
<value>
</value>
<description>
EL functions declarations, separated by commas, format is [PREFIX:]NAME=CLASS#METHOD.
This property is a convenience property to add extensions to the built in executors without having to
include all the built in ones.
</description>
</property>
谢谢@Shailendra!我已经阅读了教程,并且能够在工作流中使用自定义函数,但在协调器内部它不起作用。我认为属性'oozie.service.ELService.ext.functions.workflow'只能用于工作流程 – Sandro
哦,我看到了 - 请参阅我的编辑。 – Shailendra
@Shailendra请看这个问题 https://stackoverflow.com/questions/47622084/oozie-custom-el-function-oozie-for-coordinator – aibotnet
- 1. Oozie协调器问题
- 2. 如何提交oozie协调器作业
- 3. 回调自定义功能
- 4. 定义自定义功能
- 5. oozie协调器中的Hive查询
- 6. 如何在Oozie工作流程EL功能中使用Oozie作业属性?
- 7. 自定义功能
- 8. 自定义JSF EL功能,日期转换器和当前组件
- 9. 调试谷歌表自定义功能
- 10. 将可变参数传递给自定义EL功能可能吗?
- 11. 使用Oozie协调器处理不规则定时数据
- 12. 体验编辑器自定义功能
- 13. 自定义TabBarController功能
- 14. 自定义窗口功能
- 15. 定义自定义协议
- 16. 自定义头像功能
- 17. 跳过功能调用和自定义功能的过滤器的返回值
- 18. 在django模板中调用自定义管理器功能
- 19. 自定义验证器OnserverValidate调用类功能
- 20. 在加载数据时使用自定义微调器功能
- 21. 嵌套EL功能
- 22. 在Javascript中调用自定义协议
- 23. 自定义功能区CSS
- 24. 自定义WPF功能区
- 25. 编写自定义功能
- 26. excel自定义功能
- 27. as3自定义功能
- 28. 绕道自定义功能
- 29. jQuery的自定义功能
- 30. MyBatis的自定义功能
欢迎来到SO!为了从您的问题中获得最大的收益,请提供尽可能多的细节。在这种情况下,请添加workflow.xml和coordinator.xml以及更多您所修改的错误 – Mzf
Hi @Mzf,谢谢您的回复。 我改写了我的问题 – Sandro