Managing placement rules
Placement rules can define the logic that is taken into account when specifying which queue should be used for a submitted job. These predefined rules enable you to submit jobs without specifying the queue name at the time of job submission.
- Static queues: Queues that always exist and were defined by the user using the Queue Manager UI (or configuration files).
- Dynamic queues: Queues that are created dynamically when jobs are submitted to them. If the YARN service is restarted they are automatically deleted. To learn more about dynamic queues, see Manage dynamic queues.
Placement rules enable you to define the logic that applies when a job is submitted to specify which queue should be used for the submitted job. That enables you to submit a job without defining a target queue or to even override the target queue that was specified by the submitter during the job submission.
By default, placement rules are taken into account only if no target queue is specified during a job submission or if the specified target queue is provided as “default”. To change this behavior, see Enable override of default queue mappings.
Placement rules are evaluated in the order in which they appear in the placement rule list. When a job is submitted and placement rules have to be taken into account, the rules are evaluated, and the first matching rule is used to determine the queue in which the job runs.
If there is no placement rule and no target queue was specified during the job submission, then the job is submitted to the default queue of the scheduler.
- Skip: Ignore the current rule and proceed to the next.
- PlaceDefault: Place the application to the default queue
root.default(unless it is overridden to something else).
- Reject: Reject the submission.
If no target queue was specified during the job submission and no placement rule matches the job, then the job is submitted to the default queue of the scheduler.
By default, if an invalid queue was specified during a job submission, the submission is rejected. To change this behavior, see Enable override of default queue mappings.