Project

General

Profile

1
<workflow-app xmlns="uri:oozie:workflow:0.2" name="test-transformers_metadatamerger_sampledataproducer">
2
    <start to="producer"/>
3
    <action name="producer">
4
        <java>
5
            <job-tracker>${jobTracker}</job-tracker>
6
            <name-node>${nameNode}</name-node>
7
			<!-- The data generated by this node is deleted in this section -->
8
			<prepare>
9
				<delete path="${nameNode}${workingDir}/producer" />
10
				<mkdir path="${nameNode}${workingDir}/producer" />
11
			</prepare>
12
            <configuration>
13
                <property>
14
                    <name>mapred.job.queue.name</name>
15
                    <value>${queueName}</value>
16
                </property>
17
            </configuration>
18
            <!-- This is simple wrapper for the Java code -->
19
			<main-class>eu.dnetlib.iis.core.java.ProcessWrapper</main-class>
20
			<!-- The business Java code that gets to be executed -->
21
			<arg>eu.dnetlib.iis.core.java.jsonworkflownodes.Producer</arg>
22
			<!-- Specification of the output ports -->
23
			<arg>-C{base_metadata,
24
				eu.dnetlib.iis.importer.schemas.DocumentMetadata,
25
				eu/dnetlib/iis/transformers/metadatamerger/sampledataproducer/data/base_metadata.json}</arg>
26
            <arg>-C{extracted_metadata,
27
				eu.dnetlib.iis.metadataextraction.schemas.ExtractedDocumentMetadata,
28
				eu/dnetlib/iis/transformers/metadatamerger/sampledataproducer/data/extr_metadata.json}</arg>
29
			<!-- All input and output ports have to be bound to paths in HDFS -->
30
            <arg>-Obase_metadata=${workingDir}/producer/base_metadata</arg>
31
            <arg>-Oextracted_metadata=${workingDir}/producer/extr_metadata</arg>
32
        </java>
33
        <ok to="transformer_metadatamerger"/>
34
        <error to="fail"/>
35
    </action>
36
    <action name="transformer_metadatamerger">
37
        <sub-workflow>
38
            <app-path>${wf:appPath()}/transformer_metadatamerger</app-path>
39
            <configuration>
40
                <property>
41
                    <name>jobTracker</name>
42
                    <value>${jobTracker}</value>
43
                </property>
44
                <property>
45
                    <name>nameNode</name>
46
                    <value>${nameNode}</value>
47
                </property>
48
                <property>
49
                    <name>queueName</name>
50
                    <value>${queueName}</value>
51
                </property>
52
                <!-- Working directory of the subworkflow -->
53
                <property>
54
                    <name>workingDir</name>
55
                    <value>${workingDir}/transformer_metadatamerger/working_dir</value>
56
                </property>
57
                <!-- Input ports. -->
58
                <property>
59
                    <name>input_base_metadata</name>
60
                    <value>${workingDir}/producer/base_metadata</value>
61
                </property>
62
                <property>
63
                    <name>input_extracted_metadata</name>
64
                    <value>${workingDir}/producer/extr_metadata</value>
65
                </property>
66
                <!-- Output port bound to given path -->
67
                <property>
68
                    <name>output_merged_metadata</name>
69
                    <value>${workingDir}/transformer_metadatamerger/merged_metadata</value>
70
                </property>
71
            </configuration>
72
        </sub-workflow>
73
        <ok to="consumer"/>
74
        <error to="fail"/>
75
    </action>
76
    <action name="consumer">
77
		<java>
78
			<job-tracker>${jobTracker}</job-tracker>
79
			<name-node>${nameNode}</name-node>
80
			<configuration>
81
				<property>
82
					<name>mapred.job.queue.name</name>
83
					<value>${queueName}</value>
84
				</property>
85
			</configuration>
86
			<!-- This is simple wrapper for the Java code -->
87
			<main-class>eu.dnetlib.iis.core.java.ProcessWrapper</main-class>
88
			<!-- The business Java code that gets to be executed -->
89
			<arg>eu.dnetlib.iis.core.java.jsonworkflownodes.TestingConsumer</arg>
90
			<!-- Specification of the input ports -->
91
			<arg>-C{merged_metadata,
92
				eu.dnetlib.iis.transformers.metadatamerger.schemas.ExtractedDocumentMetadataMergedWithOriginal,
93
				eu/dnetlib/iis/transformers/metadatamerger/sampledataproducer/data/merged_metadata.json}</arg>
94
			<!-- All input and output ports have to be bound to paths in HDFS -->
95
			<arg>-Imerged_metadata=${workingDir}/transformer_metadatamerger/merged_metadata</arg>
96
		</java>
97
		<ok to="end" />
98
		<error to="fail" />
99
	</action>    
100
    <kill name="fail">
101
		<message>Unfortunately, the workflow failed -- error message:
102
			[${wf:errorMessage(wf:lastErrorNode())}]</message>
103
    </kill>
104
    <end name="end"/>
105
</workflow-app>
(2-2/2)