Job configuration overlay examples
You can use a job configuration overlay file to save reusable job submission parameters or to change a running job with an
updateoperators
operation.
Although the job configuration overlay JSON file can have many entries, these examples show short JSON files to demonstrate distinct
purposes.
Important: Refer to the Job configuration overlays
reference to confirm whether the parameters apply to the
submitjob
operation or to the updateoperators
operation.Example 1: Set the fusion type for operators in a parallel region
{
"jobConfigOverlays": [
{
"deploymentConfig": {
"parallelRegionConfig": {
"fusionType": "channelIsolation"
}
}
}
]
}
Example 2: Change the width of multiple parallel regions
You can change the width of multiple parallel regions at once in a submitjob
operation.
{
"jobConfigOverlays": [
{
"configInstructions": {
"adjustmentSection": [
{
"targetParallelRegion": {
"regionName": "OuterA",
"newWidth": 1
}
},
{
"targetParallelRegion": {
"regionName": "OuterA.MiddleB",
"newWidth": 2
}
},
{
"targetParallelRegion": {
"regionName": "OuterSpaceA",
"newWidth": 3
}
}
]
}
}
]
}
Example 3: Change the parallel region width and add tagged and untagged resources
One subsection that specifies the region, width, and tag-less resource addition and another subsection for each tagged resource addition.
{
"jobConfigOverlays": [
{
"configInstructions": {
"adjustmentSection": [
{
"targetParallelRegion": {
"regionName": "PreVwap",
"newWidth": 6
},
"numberOfResourcesToBeAdded": 1
},
{
"numberOfResourcesToBeAdded": 1,
"tagsForAddedResources": [
"t1"
]
},
{
"numberOfResourcesToBeAdded": 1,
"tagsForAddedResources": [
"t2"
]
}
]
},
"operationConfig": {
"forcePeStopped": true,
"enableAutomaticAugmentation": true
}
}
]
}
Example 4: Use the wildcard character in parallel region names or in operator names
You can change the width of a parallel region by specifying the region name with the wildcard (*) character.
{
"jobConfigOverlays": [
{
"configInstructions": {
"adjustmentSection": [
{
"targetParallelRegion": {
"regionName": "Link*_3*",
"newWidth": 43
}
}
]
}
}
]
}
You can change the operator placement configuration for multiple operators by specifying the
operators with the wildcard (*) character.
{
"jobConfigOverlays": [
{
"operatorConfigs": {
"partitionColocationGroups": [
{
"groupName": "pclg1",
"members": ["*Beat*"]
}
],
"hostColocationGroups": [
{
"groupName": "hclg1",
"members": ["Link_1_*"]
}
],
"poolPlacementGroups": [
{
"name": "redpool",
"tags": [ "red" ],
"numberOfResourcesToRequest": 1,
"operatorsInPool": [
{ "nameSpec": "*Beat*"}
]
},
{
"name": "bluepool",
"numberOfResourcesToRequest": 2,
"tags": [ "blue" ],
"operatorsInPool": [
{ "nameSpec": "Link_*"}
]
}
]
}
}
]
}
Example 5: Override the partition relational placements from the application bundle
The partition placement that is specified in the SPL application is cleared. A new partition
specification is applied to the operators Link*
.
{
"jobConfigOverlays": [
{
"operatorConfigs": {
"operators": [
{
"nameSpec": "Link*",
"partitionIsolation": true
}
]
},
"configInstructions": {
"ignoreBundleRelationalPlacements": "PARTITION"
}
}
]
}
Example 6: Set all operators to "restartable," but not "relocateable"
{
"jobConfigOverlays": [
{
"operatorConfigs": {
"operators": [
{
"nameSpec": "*",
"relocatable": false,
"restartable": true
}
]
}
}
]
}
Example 7: Override the instance property setting for "jobResourceSharing" for a submitjob operation
{
"jobConfigOverlays": [
{
"deploymentConfig": {
"jobResourceSharing": "sameUser"
}
}
]
}
Example 8: Use submission-time parameters for a submitjob operation
Use this example with the sample SPL application, "Compress."
{
"jobConfigOverlays": [
{
"jobConfig": {
"submissionParameters": [
{
"name": "in",
"value": "Makefile"
},
{
"name": "out",
"value": "Makefile.gz"
}
],
"dataDirectory": "<path-to-the-application-directory>"
}
}
]
}