zoukankan      html  css  js  c++  java
  • Oozie的作用

    Oozie的作用:
      1、统一调度hadoop系统中常见的mr任务启动、 hdfs操作、 shell调度、 hive操作等
      2、使得复杂的依赖关系、时间触发、事件触发使用xml语言进行表达,开发效率提高
      3、一组任务使用一个DAG来表示,使用图形表达流程逻辑更加清晰
      4、支持很多种任务调度,能完成大部分hadoop任务处理
      5、程序定义支持EL常量和函数,表达更加丰富

      Oozie是一个开源的工作流调度系统,它能够管理逻辑复杂的多个Hadoop作业,按照指定的顺序将其协同运行起来。

    例如,我们可能有这样一个需求,某个业务系统每天产生20G原始数据,我们每天都要对其进行处理,处理步骤如下所示:

    1、通过Hadoop先将原始数据同步到HDFS上;
    2、借助MapReduce计算框架对原始数据进行转换,生成的数据以分区表的形式存储到多张Hive表中;
    3、需要对Hive中多个表的数据进行JOIN处理,得到一个明细数据Hive大表;
    4、将明细数据进行复杂的统计分析,得到排序后的报表信息;
    5、需要将统计分析得到的结果数据同步到业务系统中,供业务调用使用。

      上述过程可以通过工作流系统来编排任务,最终生成一个工作流实例,然后每天定时启动运行这个实例即可。
      在这种依赖于Hadoop存储和处理能力要求的应用场景下,Oozie可能能够简化任务调度和执行。

      Oozie的主要功能包括:组织各种工作流(包括Pig、Hive等),以规定方式执行工作流(包括定时任务、定数任务、数据促发任务等),托管工作流(包括命令行接口,任务失败时的通知机制,如邮件通知等)

      由于,需要存储工作流信息,为提高可靠性,确保任务配置不丢失,Oozie内部使用数据库来存储工作流相关信息,用户可以使用Oozie内嵌的Derby数据库,也可以使用MySQL、PostgreSQl、Orcale等数据库。

  • 相关阅读:
    实现第三方系统单点登录
    python爬虫
    webot设备motor的api
    webots学习
    python学习算术运算
    python快捷键与命令函数
    python学习构造和析构
    python学习对象相关的bif
    python学习对象:拾遗
    matlab基础知识
  • 原文地址:https://www.cnblogs.com/zlslch/p/6117686.html
Copyright © 2011-2022 走看看