14.5 参数化job
如果要使作业的一部分可参数化/变量化,则可以这样做。目前,这是一项仅通过编辑支持的功能。分析.xml文件,因为DataCleaner图形用户界面在保存作业时不存储作业变量。
在作业的源代码部分,可以添加变量,这些变量是将在整个作业中引用的键/值对。每个变量都可以有一个默认值,在未指定变量值的情况下将使用该值。下面是一个简单的例子:
...
<source>
<data-context ref="my_datastore" />
<columns>
<column path="column1" id="col_1" />
<column path="column2" id="col_2" />
</columns>
<variables>
<variable id="filename" value="/output/dc_output.csv" />
<variable id="separator" value="," />
</variables>
</source>
...
在这个例子中,我们定义了两个变量:filename和separator。具体的属性值,我们可以参考以下内容:
...
<analyzer>
<descriptor ref="Write to CSV file"/>
<properties>
<property name="File" ref="filename" />
<property name="Quote char" value=""" />
<property name="Separator char" ref="separator" />
</properties>
<input ref="col_1" />
<input ref="col_2" />
</analyzer>
...
现在文件的属性值和Write to CSV文件中的Separator char属性都可以参数化了。要使用新的变量值执行作业,请使用命令行中的-var参数,如下所示:
DataCleaner-console.exe -job my_job.analysis.xml -var filename=/output/my_file.csv -var separator=;