Starts a job run.

See also: AWS API Documentation

Request Syntax

response = client.start_job_run(
        'sparkSubmit': {
            'entryPoint': 'string',
            'entryPointArguments': [
            'sparkSubmitParameters': 'string'
        'hive': {
            'query': 'string',
            'initQueryFile': 'string',
            'parameters': 'string'
        'applicationConfiguration': [
                'classification': 'string',
                'properties': {
                    'string': 'string'
                'configurations': {'... recursive ...'}
        'monitoringConfiguration': {
            's3MonitoringConfiguration': {
                'logUri': 'string',
                'encryptionKeyArn': 'string'
            'managedPersistenceMonitoringConfiguration': {
                'enabled': True|False,
                'encryptionKeyArn': 'string'
        'string': 'string'
  • applicationId (string) --


    The ID of the application on which to run the job.

  • clientToken (string) --


    The client idempotency token of the job run to start. Its value must be unique for each request.

    This field is autopopulated if not provided.

  • executionRoleArn (string) --


    The execution role ARN for the job run.

  • jobDriver (dict) --

    The job driver for the job run.


    This is a Tagged Union structure. Only one of the following top level keys can be set: sparkSubmit, hive.

    • sparkSubmit (dict) --

      The job driver parameters specified for Spark.

      • entryPoint (string) -- [REQUIRED]

        The entry point for the Spark submit job run.

      • entryPointArguments (list) --

        The arguments for the Spark submit job run.

        • (string) --
      • sparkSubmitParameters (string) --

        The parameters for the Spark submit job run.

    • hive (dict) --

      The job driver parameters specified for Hive.

      • query (string) -- [REQUIRED]

        The query for the Hive job run.

      • initQueryFile (string) --

        The query file for the Hive job run.

      • parameters (string) --

        The parameters for the Hive job run.

  • configurationOverrides (dict) --

    The configuration overrides for the job run.

    • applicationConfiguration (list) --

      The override configurations for the application.

      • (dict) --

        A configuration specification to be used when provisioning an application. A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file.

        • classification (string) -- [REQUIRED]

          The classification within a configuration.

        • properties (dict) --

          A set of properties specified within a configuration classification.

          • (string) --
            • (string) --
        • configurations (list) --

          A list of additional configurations to apply within a configuration object.

    • monitoringConfiguration (dict) --

      The override configurations for monitoring.

      • s3MonitoringConfiguration (dict) --

        The Amazon S3 configuration for monitoring log publishing.

        • logUri (string) --

          The Amazon S3 destination URI for log publishing.

        • encryptionKeyArn (string) --

          The KMS key ARN to encrypt the logs published to the given Amazon S3 destination.

      • managedPersistenceMonitoringConfiguration (dict) --

        The managed log persistence configuration for a job run.

        • enabled (boolean) --

          Enables managed logging and defaults to true. If set to false, managed logging will be turned off.

        • encryptionKeyArn (string) --

          The KMS key ARN to encrypt the logs stored in managed log persistence.

  • tags (dict) --

    The tags assigned to the job run.

    • (string) --
      • (string) --
  • executionTimeoutMinutes (integer) -- The maximum duration for the job run to run. If the job run runs beyond this duration, it will be automatically cancelled.
  • name (string) -- The optional job run name. This doesn't have to be unique.
Return type



Response Syntax

    'applicationId': 'string',
    'jobRunId': 'string',
    'arn': 'string'

Response Structure

  • (dict) --

    • applicationId (string) --

      This output displays the application ID on which the job run was submitted.

    • jobRunId (string) --

      The output contains the ID of the started job run.

    • arn (string) --

      The output lists the execution role ARN of the job run.


  • EMRServerless.Client.exceptions.ValidationException
  • EMRServerless.Client.exceptions.ResourceNotFoundException
  • EMRServerless.Client.exceptions.InternalServerException
  • EMRServerless.Client.exceptions.ConflictException