Project

General

Profile

1
<workflow-app xmlns="uri:oozie:workflow:0.3" name="test-mainworkflows_integration_import">
2
	<start to="importer" />
3
	<action name="importer">
4
		<sub-workflow>
5
            <app-path>${wf:appPath()}/mapred_import</app-path>
6
            <propagate-configuration/>
7
            <configuration>
8
				<property>
9
				<!-- TODO possibly not needed -->
10
					<name>actionmanager_avro_storage_dir</name>
11
					<value>${workingDir}/exporter</value>
12
				</property>
13
				<property>
14
					<name>mapreduce_inputformat_class</name>
15
					<value>eu.dnetlib.iis.mainworkflows.importer.mapred.PredefinedTableInputFormat</value>
16
				</property>
17
				<property>
18
					<name>inputformat_idx_props_location</name>
19
					<value>eu/dnetlib/iis/mainworkflows/integration/import/input/meta/mappings.properties</value>
20
				</property>
21
				<property>
22
					<name>inference_provenance_blacklist</name>
23
					<value>iis::.*</value>
24
				</property>
25
				<property>
26
					<name>skip_deleted_by_inference</name>
27
					<value>true</value>
28
				</property>
29
				<property>
30
					<name>hbase_input_table</name>
31
					<value>undefined</value>
32
				</property>
33
				<property>
34
					<name>output</name>
35
					<value>${workingDir}/mr_import</value>
36
				</property>
37
			</configuration>
38
        </sub-workflow>
39
		
40
		<ok to="forking" />
41
		
42
		<error to="fail" />
43
	</action>
44
    
45
    <fork name="forking">
46
    	<path start="consumer-person"/>
47
        <path start="consumer-project"/>
48
        <path start="consumer-document"/>
49
    </fork>
50
     
51
    <action name="consumer-person">
52
		<java>
53
			<job-tracker>${jobTracker}</job-tracker>
54
			<name-node>${nameNode}</name-node>
55
			<!-- The data generated by this node is deleted in this section -->
56
			<prepare>
57
				<delete path="${nameNode}${workingDir}/consumer-person" />
58
				<mkdir path="${nameNode}${workingDir}/consumer-person" />
59
			</prepare>
60
			<configuration>
61
				<property>
62
					<name>mapred.job.queue.name</name>
63
					<value>${queueName}</value>
64
				</property>
65
			</configuration>
66
			<main-class>eu.dnetlib.iis.core.java.ProcessWrapper</main-class>
67
			<arg>eu.dnetlib.iis.core.java.jsonworkflownodes.TestingConsumer</arg>
68
			<arg>-C{person,
69
				eu.dnetlib.iis.importer.schemas.Person,
70
				eu/dnetlib/iis/mainworkflows/integration/import/output/person.json}</arg>
71
			<arg>-SworkingDir=${workingDir}/consumer-person/working_dir</arg>
72
			<arg>-Iperson=${workingDir}/mr_import/person</arg>
73
		</java>
74
		<ok to="joining" />
75
		<error to="fail" />
76
	</action>
77
	
78
	<action name="consumer-project">
79
		<java>
80
			<job-tracker>${jobTracker}</job-tracker>
81
			<name-node>${nameNode}</name-node>
82
			<!-- The data generated by this node is deleted in this section -->
83
			<prepare>
84
				<delete path="${nameNode}${workingDir}/consumer-project" />
85
				<mkdir path="${nameNode}${workingDir}/consumer-project" />
86
			</prepare>
87
			<configuration>
88
				<property>
89
					<name>mapred.job.queue.name</name>
90
					<value>${queueName}</value>
91
				</property>
92
			</configuration>
93
			<main-class>eu.dnetlib.iis.core.java.ProcessWrapper</main-class>
94
			<arg>eu.dnetlib.iis.core.java.jsonworkflownodes.TestingConsumer</arg>
95
			<arg>-C{project,
96
				eu.dnetlib.iis.importer.schemas.Project,
97
				eu/dnetlib/iis/mainworkflows/integration/import/output/project.json}</arg>
98
			<arg>-SworkingDir=${workingDir}/consumer-project/working_dir</arg>
99
			<arg>-Iproject=${workingDir}/mr_import/project</arg>
100
		</java>
101
		<ok to="joining" />
102
		<error to="fail" />
103
	</action>
104
	
105
	<action name="consumer-document">
106
		<java>
107
			<job-tracker>${jobTracker}</job-tracker>
108
			<name-node>${nameNode}</name-node>
109
			<!-- The data generated by this node is deleted in this section -->
110
			<prepare>
111
				<delete path="${nameNode}${workingDir}/consumer-document" />
112
				<mkdir path="${nameNode}${workingDir}/consumer-document" />
113
			</prepare>
114
			<configuration>
115
				<property>
116
					<name>mapred.job.queue.name</name>
117
					<value>${queueName}</value>
118
				</property>
119
			</configuration>
120
			<main-class>eu.dnetlib.iis.core.java.ProcessWrapper</main-class>
121
			<arg>eu.dnetlib.iis.core.java.jsonworkflownodes.TestingConsumer</arg>
122
			<arg>-C{document,
123
				eu.dnetlib.iis.importer.schemas.DocumentMetadata,
124
				eu/dnetlib/iis/mainworkflows/integration/import/output/document.json}</arg>
125
			<arg>-SworkingDir=${workingDir}/consumer-document/working_dir</arg>
126
			<arg>-Idocument=${workingDir}/mr_import/docmeta</arg>
127
		</java>
128
		<ok to="joining" />
129
		<error to="fail" />
130
	</action>
131
    
132
    <join name="joining" to="end"/>
133
     
134
	<kill name="fail">
135
		<message>Unfortunately, the process failed -- error message:
136
			[${wf:errorMessage(wf:lastErrorNode())}]</message>
137
	</kill>
138
	<end name="end" />
139
</workflow-app>
(2-2/2)