astronomer.providers.google.cloud.operators.dataproc

This module contains Google Dataproc operators.

Module Contents

Classes

DataprocCreateClusterOperatorAsync

Create a new cluster on Google Cloud Dataproc Asynchronously.

DataprocDeleteClusterOperatorAsync

Delete a cluster on Google Cloud Dataproc Asynchronously.

DataprocSubmitJobOperatorAsync

Submits a job to a cluster and wait until is completely finished or any error occurs.

DataprocUpdateClusterOperatorAsync

Updates an existing cluster in a Google cloud platform project.

class astronomer.providers.google.cloud.operators.dataproc.DataprocCreateClusterOperatorAsync(*, polling_interval=5.0, **kwargs)[source]

Bases: airflow.providers.google.cloud.operators.dataproc.DataprocCreateClusterOperator

Create a new cluster on Google Cloud Dataproc Asynchronously.

Parameters:
  • project_id – The ID of the google cloud project in which to create the cluster. (templated)

  • cluster_name – Name of the cluster to create

  • labels – Labels that will be assigned to created cluster

  • cluster_config – Required. The cluster config to create. If a dict is provided, it must be of the same form as the protobuf message ClusterConfig

  • virtual_cluster_config – Optional. The virtual cluster config, used when creating a Dataproc cluster that does not directly control the underlying compute resources, for example, when creating a Dataproc-on-GKE cluster <https://cloud.google.com/dataproc/docs/concepts/jobs/dataproc-gke#create-a-dataproc-on-gke-cluster>

  • region – The specified region where the dataproc cluster is created.

  • delete_on_error – If true the cluster will be deleted if created with ERROR state. Default value is true.

  • use_if_exists – If true use existing cluster

  • request_id – Optional. A unique id used to identify the request. If the server receives two DeleteClusterRequest requests with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.

  • retry – A retry object used to retry requests. If None is specified, requests will not be retried.

  • timeout – The amount of time, in seconds, to wait for the request to complete. Note that if retry is specified, the timeout applies to each individual attempt.

  • metadata – Additional metadata that is provided to the method.

  • gcp_conn_id – The connection ID to use connecting to Google Cloud.

  • impersonation_chain – Optional service account to impersonate using short-term credentials, or chained list of accounts required to get the access_token of the last account in the list, which will be impersonated in the request. If set as a string, the account must grant the originating account the Service Account Token Creator IAM role. If set as a sequence, the identities from the list must grant Service Account Token Creator IAM role to the directly preceding identity, with first account from the list granting this role to the originating account (templated).

  • polling_interval (float) – Time in seconds to sleep between checks of cluster status

execute(context)[source]

Call create cluster API and defer to DataprocCreateClusterTrigger to check the status

execute_complete(context, event=None)[source]

Callback for when the trigger fires - returns immediately. Relies on trigger to throw an exception, otherwise it assumes execution was successful.

class astronomer.providers.google.cloud.operators.dataproc.DataprocDeleteClusterOperatorAsync(*, polling_interval=5.0, **kwargs)[source]

Bases: airflow.providers.google.cloud.operators.dataproc.DataprocDeleteClusterOperator

Delete a cluster on Google Cloud Dataproc Asynchronously.

Parameters:
  • region – Required. The Cloud Dataproc region in which to handle the request (templated).

  • cluster_name – Required. The cluster name (templated).

  • project_id – Optional. The ID of the Google Cloud project that the cluster belongs to (templated).

  • cluster_uuid – Optional. Specifying the cluster_uuid means the RPC should fail if cluster with specified UUID does not exist.

  • request_id – Optional. A unique id used to identify the request. If the server receives two DeleteClusterRequest requests with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.

  • retry – A retry object used to retry requests. If None is specified, requests will not be retried.

  • timeout – The amount of time, in seconds, to wait for the request to complete. Note that if retry is specified, the timeout applies to each individual attempt.

  • metadata – Additional metadata that is provided to the method.

  • gcp_conn_id – The connection ID to use connecting to Google Cloud.

  • impersonation_chain – Optional service account to impersonate using short-term credentials, or chained list of accounts required to get the access_token of the last account in the list, which will be impersonated in the request. If set as a string, the account must grant the originating account the Service Account Token Creator IAM role. If set as a sequence, the identities from the list must grant Service Account Token Creator IAM role to the directly preceding identity, with first account from the list granting this role to the originating account (templated).

  • polling_interval (float) – Time in seconds to sleep between checks of cluster status

execute(context)[source]

Call delete cluster API and defer to wait for cluster to completely deleted

execute_complete(context, event=None)[source]

Callback for when the trigger fires - returns immediately. Relies on trigger to throw an exception, otherwise it assumes execution was successful.

class astronomer.providers.google.cloud.operators.dataproc.DataprocSubmitJobOperatorAsync(*, job, region, project_id=None, request_id=None, retry=DEFAULT, timeout=None, metadata=(), gcp_conn_id='google_cloud_default', impersonation_chain=None, asynchronous=False, deferrable=False, polling_interval_seconds=10, cancel_on_kill=True, wait_timeout=None, **kwargs)[source]

Bases: airflow.providers.google.cloud.operators.dataproc.DataprocSubmitJobOperator

Submits a job to a cluster and wait until is completely finished or any error occurs.

Parameters:
  • project_id (str | None) – Optional. The ID of the Google Cloud project that the job belongs to.

  • region (str) – Required. The Cloud Dataproc region in which to handle the request.

  • job (dict) – Required. The job resource. If a dict is provided, it must be of the same form as the protobuf message class:~google.cloud.dataproc_v1.types.Job

  • request_id (str | None) – Optional. A unique id used to identify the request. If the server receives two SubmitJobRequest requests with the same id, then the second request will be ignored and the first Job created and stored in the backend is returned. It is recommended to always set this value to a UUID.

  • retry (Retry | _MethodDefault) – A retry object used to retry requests. If None is specified, requests will not be retried.

  • timeout (float | None) – The amount of time, in seconds, to wait for the request to complete. Note that if retry is specified, the timeout applies to each individual attempt.

  • metadata (Sequence[tuple[str, str]]) – Additional metadata that is provided to the method.

  • gcp_conn_id (str) – The connection ID to use connecting to Google Cloud Platform.

  • impersonation_chain (str | Sequence[str] | None) – Optional service account to impersonate using short-term credentials, or chained list of accounts required to get the access_token of the last account in the list, which will be impersonated in the request. If set as a string, the account must grant the originating account the Service Account Token Creator IAM role. If set as a sequence, the identities from the list must grant Service Account Token Creator IAM role to the directly preceding identity, with first account from the list granting this role to the originating account (templated).

  • cancel_on_kill (bool) – Flag which indicates whether cancel the hook’s job or not, when on_kill is called

execute(context)[source]

Airflow runs this method on the worker and defers using the trigger. Submit the job and get the job_id using which we defer and poll in trigger

execute_complete(context, event=None)[source]

Callback for when the trigger fires - returns immediately. Relies on trigger to throw an exception, otherwise it assumes execution was successful.

class astronomer.providers.google.cloud.operators.dataproc.DataprocUpdateClusterOperatorAsync(*, polling_interval=5.0, **kwargs)[source]

Bases: airflow.providers.google.cloud.operators.dataproc.DataprocUpdateClusterOperator

Updates an existing cluster in a Google cloud platform project.

Parameters:
  • region – Required. The Cloud Dataproc region in which to handle the request.

  • project_id – Optional. The ID of the Google Cloud project the cluster belongs to.

  • cluster_name – Required. The cluster name.

  • cluster – Required. The changes to the cluster. If a dict is provided, it must be of the same form as the protobuf message Cluster

  • update_mask – Required. Specifies the path, relative to Cluster, of the field to update. For example, to change the number of workers in a cluster to 5, the update_mask parameter would be specified as config.worker_config.num_instances, and the PATCH request body would specify the new value. If a dict is provided, it must be of the same form as the protobuf message FieldMask

  • graceful_decommission_timeout – Optional. Timeout for graceful YARN decommissioning. Graceful decommissioning allows removing nodes from the cluster without interrupting jobs in progress. Timeout specifies how long to wait for jobs in progress to finish before forcefully removing nodes (and potentially interrupting jobs). Default timeout is 0 (for forceful decommission), and the maximum allowed timeout is 1 day.

  • request_id – Optional. A unique id used to identify the request. If the server receives two UpdateClusterRequest requests with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned.

  • retry – A retry object used to retry requests. If None is specified, requests will not be retried.

  • timeout – The amount of time, in seconds, to wait for the request to complete. Note that if retry is specified, the timeout applies to each individual attempt.

  • metadata – Additional metadata that is provided to the method.

  • gcp_conn_id – The connection ID to use connecting to Google Cloud.

  • impersonation_chain – Optional service account to impersonate using short-term credentials, or chained list of accounts required to get the access_token of the last account in the list, which will be impersonated in the request. If set as a string, the account must grant the originating account the Service Account Token Creator IAM role. If set as a sequence, the identities from the list must grant Service Account Token Creator IAM role to the directly preceding identity, with first account from the list granting this role to the originating account (templated).

  • polling_interval (float) – Time in seconds to sleep between checks of cluster status

execute(context)[source]

Call update cluster API and defer to wait for cluster update to complete

execute_complete(context, event=None)[source]

Callback for when the trigger fires - returns immediately. Relies on trigger to throw an exception, otherwise it assumes execution was successful.