class_docstr: A helper class for building Dataproc job.
class_docstr_tok: ["A","helper","class","for","building","Dataproc","job","."]
code: def __init__(
      self,
      project_id: str,
      task_id: str,
      cluster_name: str,
      job_type: str,
      properties: dict[str, str] | None = None,
  ) -> None:
      name = f"{task_id.replace('.', '_')}_{uuid.uuid4()!s:.8}"
      self.job_type = job_type
      self.job: dict[str, Any] = {
          "job": {
              "reference": {"project_id": project_id, "job_id": name},
              "placement": {"cluster_name": cluster_name},
              "labels": {
                  "airflow-version": "v"
                  + airflow_version.replace(".", "-").replace("+", "-")
              },
              job_type: {},
          }
      }
      if properties is not None:
          self.job["job"][job_type]["properties"] = properties
  
imports: from __future__ import annotations
  import time
  import uuid
  from typing import TYPE_CHECKING, Any, Sequence
  from google.api_core.client_options import ClientOptions
  from google.api_core.exceptions import ServerError
  from google.api_core.gapic_v1.method import DEFAULT, _MethodDefault
  from google.cloud.dataproc_v1 import Batch, BatchControllerAsyncClient, BatchControllerClient, Cluster, ClusterControllerAsyncClient, ClusterControllerClient, Job, JobControllerAsyncClient, JobControllerClient, JobStatus, WorkflowTemplate, WorkflowTemplateServiceAsyncClient, WorkflowTemplateServiceClient
  from airflow.exceptions import AirflowException
  from airflow.providers.google.common.consts import CLIENT_INFO
  from airflow.providers.google.common.hooks.base_google import GoogleBaseHook
  from airflow.version import version
label_desc: Use image node_id 1 to create a new DataProcJobBuilder object  with example: obj = DataProcJobBuilder(project_id, task_id, cluster_name, job_type, properties)