我有如下用例。配置单元中有一个表的标志值为1或0。请在oozie工作流中使用配置单元操作读取此配置单元表并检索此标志值。如果此标志为1,则调用sqoop操作,否则如果标志值为0,则终止此工作流并退出。如何从配置单元操作中获取配置单元查询的输出,并将其用于oozie工作流决策。
stszievb1#
有两种方法可以做到这一点。创建一个java操作,通过jdbc直接连接到hive并执行列值查找。创建oozie shell操作并将select查询(如“hive-e”)放入其中,同时需要在工作流下使用capture\u output选项,还需要指定系统属性oozie\u java\u main\u capture\u output\u file=“output file location”,以便它可以捕获输出并将其存储在文件中。现在您可以通过在oozie上下文中创建oozie el函数来访问此文件内容。有关el功能示例,请参阅此链接:https://blog.cloudera.com/blog/2013/09/how-to-write-an-el-function-in-apache-oozie/
1条答案
按热度按时间stszievb1#
有两种方法可以做到这一点。
创建一个java操作,通过jdbc直接连接到hive并执行列值查找。
创建oozie shell操作并将select查询(如“hive-e”)放入其中,同时需要在工作流下使用capture\u output选项,还需要指定系统属性oozie\u java\u main\u capture\u output\u file=“output file location”,以便它可以捕获输出并将其存储在文件中。现在您可以通过在oozie上下文中创建oozie el函数来访问此文件内容。
有关el功能示例,请参阅此链接:https://blog.cloudera.com/blog/2013/09/how-to-write-an-el-function-in-apache-oozie/