我想要做的是使工作流和作业元数据(如开始日期,结束日期和状态在蜂巢表中)可供BI工具用于可视化目的。我希望能够监控某个工作流程在某些时间内是否失败,成功率,......
为此,我需要访问Hue能够在作业浏览器和Oozie仪表板中显示的相同数据。我正在寻找的工作流程,例如名称,提交者,状态,开始和结束时间。我想要这个的原因是在我看来这个工具缺乏一般的概述和良好的搜索。 我的想法是,一旦我找到这些数据,我将直接 - 或通过一些处理步骤 - 将其加载到Hive中。
我希望看到的问题得到解答:
我正在使用CDH 5.8
答案 0 :(得分:1)
如果您想跟踪oozie中安排的工作状态,您应该使用oozie RESTful API或JavaAPI。我没有使用Hue版本操作Oozie,但我猜它仍然在场景后面使用rest api。它为您提供了所有必要的信息,您可以创建一些服务来消耗这些数据并将其推送到Hive表中。
另一种选择是访问Oozie数据库。您可能知道Oozie会保留一些RDBMS中有关预定作业的所有数据,如MqSql或Postgres。您可以通过某些JDBC连接器使用此信息。实际上,一种有趣的方法是尝试将这些信息作为一组外部表直接链接到Hive JDBCStorageHandler。不确定它是否有效,但值得尝试。
答案 1 :(得分:1)
如果通过Oozie之外的其他方式提交工作,我的方法将无济于事。
我们已经通过Oozie Java API从oozie服务器收集了所有日志,并通过协调器信息进行迭代以获取所需信息。
您需要思考,需要检索哪种信息。
然后我们将获取的结果加载到hive表中,然后可以过滤失败或超时协调器的结果。各种其他参数。
您可以开始查看Oozie网站提供的示例: - https://oozie.apache.org/docs/3.2.0-incubating/DG_Examples.html#Java_API_Example]