Hi, did anyone make it work property in his project?
I need to do dry run for my workflows.
The usecase is:
User writes workflow and wants to:
1. Check if it valid
2. do dryrun, see how it flows without executing steps.

Let say I have wflow with three steps:

1. disctp data from $A to $B
2. run spark action with $B as input
3. disctp $B to $C

I want to do dryrun and check how my variables were interpolated it wflow.
The killer feature is: I want to imitate spark action failure and check how
my kill node looks like.

I gave up to make MiniOozie work. But I was able to start DagEngine.

   val fs: FileSystem = FileSystem.getLocal(new Configuration())
   val appPath: Path = new Path("build", "app")
   fs.mkdirs(appPath)
   fs.mkdirs(new Path(appPath, "lib"))

   val writer = new OutputStreamWriter(fs.create(new Path(appPath,
"workflow.xml")))
   writer.write(pipelineXml)
   writer.close()

   val wc = getClient

   val workflowConfiguration = wc.createConfiguration
   workflowConfiguration.setProperty(OozieClient.APP_PATH, new
Path(appPath, "workflow.xml").toString)
   workflowConfiguration.setProperty(OozieClient.USER_NAME, getTestUser)
   usrDefinedProperties.foreach { case (k, v) =>
workflowConfiguration.put(k.toString, v.toString) }

   val dagEngine:DagEngine  =
Services.get.get(classOf[DagEngineService]).getDagEngine(getTestUser)
   val conf = new Configuration()
   workflowConfiguration.asScala.toMap.foreach{case(k,v ) => conf.set(k, v)}
    val jobId = dagEngine.dryRunSubmit(conf)

But I would like to check how workflow flows when you pass in different
parameters without actualy executing steps.

Reply via email to