Community Articles
Find and share helpful community-sourced technical articles
Labels (2)

This is the third in the series of articles on WFM.

Part 1:

Part 2:

Part 4:

Part 5:

Part 6:

Part 7:

Part 8:

Part 9:

Part 10:

Part 11:

Part 12:

In this tutorial, I will import an existing Python3 workflow and modify it to work with WFM. You need to make sure that Python3 exists on every node where YARN nodemanager is installed and Oozie is allowed to execute on that node (in essence, you want to make sure there are no YARN queue limitations on nodes with Python3 installed). Installing Python3 is beyond the scope of this tutorial, I am using Centos 6 and I followed this tutorial

Once Python3 is deployed across all of your nodemanagers, you can import the workflow in the same way I've shown before and configure the python3-node to your liking


Nothing is out of the ordinary yet.


We learned the mistake in our previous tutorial and let WFM assign Resource Manager property rather than using inherited $jobTracker. I am ready to submit, notice I left the inherited queue property in the wf and WFM prompts me to input it.


On submission, we can navigate to the dashboard to track the status.


My job succeeded, I want to look at the result.


I'm going to click on the arrow on the right and navigate to the YARN job. Deep in the logs, I can find my desired output


My python3 code by the way is below

#! /usr/bin/env /usr/local/bin/python3
import os, pwd, sys
print("who am I? " + pwd.getpwuid(os.getuid())[0])
print("this is a Python script")
print("Python Interpreter Version: " + sys.version)

As usual, my repo has more samples you can play around with


@Artem Ervits How to add the coordinator to the workflow so the script executes every minute for infinite time ?