API: pyoozie package¶
Module contents¶
-
class
pyoozie.WorkflowBuilder(name)[source]¶
-
class
pyoozie.OozieClient(url=None, user=None, timeout=None, verbose=True, **_)[source]¶ -
JOB_TYPES= {<ArtifactType.Coordinator: 1>: <class 'pyoozie.model.Coordinator'>, <ArtifactType.CoordinatorAction: 2>: <class 'pyoozie.model.CoordinatorAction'>, <ArtifactType.Workflow: 3>: <class 'pyoozie.model.Workflow'>, <ArtifactType.WorkflowAction: 4>: <class 'pyoozie.model.WorkflowAction'>}¶
-
JOB_TYPE_STRINGS= {<ArtifactType.Coordinator: 1>: ('coordinator', 'coordinatorjobs'), <ArtifactType.Workflow: 3>: ('wf', 'workflows')}¶
-
STATUS_TYPES= {<ArtifactType.Coordinator: 1>: <enum 'CoordinatorStatus'>, <ArtifactType.CoordinatorAction: 2>: <enum 'CoordinatorActionStatus'>, <ArtifactType.Workflow: 3>: <enum 'WorkflowStatus'>, <ArtifactType.WorkflowAction: 4>: <enum 'WorkflowActionStatus'>}¶
-
job_coordinator_action(coordinator_id=None, name=None, user=None, action_number=0, coordinator=None)[source]¶
-
-
class
pyoozie.ArtifactType[source]¶ An enumeration.
-
Coordinator= 1¶
-
CoordinatorAction= 2¶
-
Workflow= 3¶
-
WorkflowAction= 4¶
-
-
class
pyoozie.CoordinatorActionStatus[source]¶ An enumeration.
-
FAILED= _StatusValue(status_id=1, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
IGNORED= _StatusValue(status_id=2, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
KILLED= _StatusValue(status_id=3, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
READY= _StatusValue(status_id=4, is_active=True, is_running=False, is_suspendable=False, is_suspended=False)¶
-
RUNNING= _StatusValue(status_id=5, is_active=True, is_running=True, is_suspendable=True, is_suspended=False)¶
-
SKIPPED= _StatusValue(status_id=6, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
SUBMITTED= _StatusValue(status_id=7, is_active=True, is_running=False, is_suspendable=False, is_suspended=False)¶
-
SUCCEEDED= _StatusValue(status_id=8, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
SUSPENDED= _StatusValue(status_id=9, is_active=True, is_running=True, is_suspendable=False, is_suspended=True)¶
-
TIMEDOUT= _StatusValue(status_id=10, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
UNKNOWN= _StatusValue(status_id=0, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
WAITING= _StatusValue(status_id=11, is_active=True, is_running=False, is_suspendable=False, is_suspended=False)¶
-
-
class
pyoozie.CoordinatorStatus[source]¶ An enumeration.
-
DONEWITHERROR= _StatusValue(status_id=1, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
FAILED= _StatusValue(status_id=2, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
IGNORED= _StatusValue(status_id=3, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
KILLED= _StatusValue(status_id=4, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
PAUSED= _StatusValue(status_id=5, is_active=True, is_running=False, is_suspendable=False, is_suspended=False)¶
-
PAUSEDWITHERROR= _StatusValue(status_id=6, is_active=True, is_running=False, is_suspendable=False, is_suspended=False)¶
-
PREMATER= _StatusValue(status_id=7, is_active=True, is_running=False, is_suspendable=False, is_suspended=False)¶
-
PREP= _StatusValue(status_id=8, is_active=True, is_running=False, is_suspendable=True, is_suspended=False)¶
-
PREPPAUSED= _StatusValue(status_id=9, is_active=True, is_running=False, is_suspendable=False, is_suspended=False)¶
-
PREPSUSPENDED= _StatusValue(status_id=10, is_active=True, is_running=False, is_suspendable=False, is_suspended=True)¶
-
RUNNING= _StatusValue(status_id=11, is_active=True, is_running=True, is_suspendable=True, is_suspended=False)¶
-
RUNNINGWITHERROR= _StatusValue(status_id=12, is_active=True, is_running=True, is_suspendable=True, is_suspended=False)¶
-
SUCCEEDED= _StatusValue(status_id=13, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
SUSPENDED= _StatusValue(status_id=14, is_active=True, is_running=True, is_suspendable=False, is_suspended=True)¶
-
SUSPENDEDWITHERROR= _StatusValue(status_id=15, is_active=True, is_running=True, is_suspendable=False, is_suspended=True)¶
-
UNKNOWN= _StatusValue(status_id=0, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
-
class
pyoozie.WorkflowActionStatus[source]¶ An enumeration.
-
DONE= _StatusValue(status_id=1, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
END_MANUAL= _StatusValue(status_id=2, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
END_RETRY= _StatusValue(status_id=3, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
ERROR= _StatusValue(status_id=4, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
FAILED= _StatusValue(status_id=5, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
KILLED= _StatusValue(status_id=6, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
OK= _StatusValue(status_id=7, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
PREP= _StatusValue(status_id=8, is_active=True, is_running=False, is_suspendable=False, is_suspended=False)¶
-
RUNNING= _StatusValue(status_id=9, is_active=True, is_running=True, is_suspendable=False, is_suspended=False)¶
-
START_MANUAL= _StatusValue(status_id=10, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
START_RETRY= _StatusValue(status_id=11, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
UNKNOWN= _StatusValue(status_id=0, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
USER_RETRY= _StatusValue(status_id=12, is_active=True, is_running=False, is_suspendable=False, is_suspended=False)¶
-
-
class
pyoozie.WorkflowStatus[source]¶ An enumeration.
-
FAILED= _StatusValue(status_id=1, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
KILLED= _StatusValue(status_id=2, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
PREP= _StatusValue(status_id=3, is_active=True, is_running=False, is_suspendable=False, is_suspended=False)¶
-
RUNNING= _StatusValue(status_id=4, is_active=True, is_running=True, is_suspendable=True, is_suspended=False)¶
-
SUCCEEDED= _StatusValue(status_id=5, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
SUSPENDED= _StatusValue(status_id=6, is_active=True, is_running=True, is_suspendable=False, is_suspended=True)¶
-
UNKNOWN= _StatusValue(status_id=0, is_active=False, is_running=False, is_suspendable=False, is_suspended=False)¶
-
-
class
pyoozie.Action(action, name=None, credential=None, retry_max=None, retry_interval=None, on_error=None)[source]¶ Workflow action nodes carrying concrete actions that perform an action.
-
class
pyoozie.Configuration(values=None)[source]¶ Coordinator job submission, workflow, workflow action configuration XML.
-
class
pyoozie.CoordinatorApp(name, workflow_app_path, frequency, start, end=None, timezone=None, workflow_configuration=None, timeout=None, concurrency=None, execution_order=None, throttle=None, parameters=None)[source]¶
-
class
pyoozie.Credential(values, credential_name, credential_type)[source]¶ HCatalog, Hive Metastore, HBase, or Hive Server 2 action credentials.
Generates XML of the form:
... <credentials> <credential name='my-hcat-creds' type='hcat'> <property> <name>hcat.metastore.uri</name> <value>HCAT_URI</value> </property> ... </credential> </credentials> <action name='pig' cred='my-hcat-creds'> <pig> ...
-
class
pyoozie.Decision(default, choices, name=None, on_error=None)[source]¶ Node specifying a switch/case.
-
class
pyoozie.Email(to, subject, body, cc=None, bcc=None, content_type=None, attachments=None)[source]¶ Email action for use within a workflow.
-
class
pyoozie.ExecutionOrder[source]¶ Execution order used for coordinator jobs.
-
FIFO= 'FIFO'¶
-
LAST_ONLY= 'LAST_ONLY'¶
-
LIFO= 'LIFO'¶
-
NONE= 'NONE'¶
-
-
class
pyoozie.GlobalConfiguration(job_tracker=None, name_node=None, job_xml_files=None, configuration=None)[source]¶ Global configuration values for all actions in a workflow.
“Oozie allows a global section to reduce the redundant job-tracker and name-node declarations for each action. […] The global section may contain the job-xml, configuration, job-tracker, or name-node that the user would like to set for every action. If a user then redefines one of these in a specific action node, Oozie will update [sic] use the specific declaration instead of the global one for that action.”
“The job-xml element, if present, must refer to a Hadoop JobConf job.xml file bundled in the workflow application.”
-
class
pyoozie.Kill(message, name=None)[source]¶ Workflow graph terminal node(s) to end upon to indicate failure.
-
class
pyoozie.Parallel(*entities, **kwargs)[source]¶ Set of entities to execute in parallel (implemented as fork/join tag pair)
-
class
pyoozie.Parameters(values=None)[source]¶ Coordinator/workflow parameters.
Allows one to specify properties that can be reused in actions. “Properties that are a valid Java identifier, [A-Za-z_][0-9A-Za-z_]* , are available as ‘${NAME}’ variables within the workflow definition.”
“Properties that are not valid Java Identifier, for example ‘job.tracker’, are available via the String wf:conf(String name) function. Valid identifier properties are available via this function as well.”
-
class
pyoozie.Serial(*entities, **kwargs)[source]¶ Sequence of entities to execute (implemented by chaining entities and ‘OK’ transitions)
-
class
pyoozie.Shell(exec_command, job_tracker=None, name_node=None, prepare=None, job_xml_files=None, configuration=None, arguments=None, env_vars=None, files=None, archives=None, capture_output=False)[source]¶ Workflow shell action (v0.3).
-
class
pyoozie.SubWorkflow(app_path, propagate_configuration=True, configuration=None)[source]¶ Run another workflow defined in another XML file on HDFS.
An Oozie sub-workflow is an “action [that] runs a child workflow job […]. The parent workflow job will wait until the child workflow job has completed.”