La explicación de Cloud Shell de este instructivo proporciona autenticación mediante el uso de las credenciales de tu proyecto Google Cloud .
Cuando ejecutas el código de forma local, la práctica recomendada es usar las credenciales de la cuenta de servicio para autenticar tu código.
Crea un clúster de Dataproc
Se establecen los siguientes valores para crear el clúster:
El proyecto en el que se creará el clúster
Región en la que se creará el clúster
El nombre del clúster
Es la configuración del clúster, que especifica un nodo principal y dos nodos trabajadores principales.
Se usa la configuración predeterminada para el resto de los parámetros de configuración del clúster.
Puedes anular los ajustes predeterminados de configuración del clúster. Por ejemplo, puedes agregar VMs secundarias (valor predeterminado = 0) o especificar una red de VPC no predeterminada para el clúster. Para obtener más información, consulta CreateCluster.
defquickstart(project_id,region,cluster_name,gcs_bucket,pyspark_file):# Create the cluster client.cluster_client=dataproc_v1.ClusterControllerClient(client_options={"api_endpoint":f"{region}-dataproc.googleapis.com:443"})# Create the cluster config.cluster={"project_id":project_id,"cluster_name":cluster_name,"config":{"master_config":{"num_instances":1,"machine_type_uri":"n1-standard-2"},"worker_config":{"num_instances":2,"machine_type_uri":"n1-standard-2"},},}# Create the cluster.operation=cluster_client.create_cluster(request={"project_id":project_id,"region":region,"cluster":cluster})result=operation.result()print(f"Cluster created successfully: {result.cluster_name}")
Envía un trabajo
Se establecen los siguientes valores para enviar el trabajo:
El proyecto en el que se creará el clúster
Región en la que se creará el clúster
Es la configuración del trabajo, que especifica el nombre del clúster y la ruta de acceso (URI) del trabajo de PySpark en Cloud Storage.
# Create the job client.job_client=dataproc_v1.JobControllerClient(client_options={"api_endpoint":f"{region}-dataproc.googleapis.com:443"})# Create the job config.job={"placement":{"cluster_name":cluster_name},"pyspark_job":{"main_python_file_uri":f"gs://{gcs_bucket}/{spark_filename}"},}operation=job_client.submit_job_as_operation(request={"project_id":project_id,"region":region,"job":job})response=operation.result()# Dataproc job output is saved to the Cloud Storage bucket# allocated to the job. Use regex to obtain the bucket and blob info.matches=re.match("gs://(.*?)/(.*)",response.driver_output_resource_uri)output=(storage.Client().get_bucket(matches.group(1)).blob(f"{matches.group(2)}.000000000").download_as_bytes().decode("utf-8"))print(f"Job finished successfully: {output}\r\n")
Borra el clúster
Se establecen los siguientes valores para borrar el clúster:
El proyecto en el que se creará el clúster
Región en la que se creará el clúster
El nombre del clúster
Para obtener más información, consulta DeleteCluster.
# Delete the cluster once the job has terminated.operation=cluster_client.delete_cluster(request={"project_id":project_id,"region":region,"cluster_name":cluster_name,})operation.result()print(f"Cluster {cluster_name} successfully deleted.")
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-05 (UTC)"],[[["This tutorial guides users through a Cloud Shell walkthrough to interact with Dataproc gRPC APIs using Google Cloud client libraries for Python."],["The walkthrough code demonstrates how to programmatically create a Dataproc cluster, submit a job to the cluster, and then delete the cluster."],["The tutorial details the required values to set when creating a cluster, such as project ID, region, cluster name, and cluster configuration, allowing for default setting overides."],["The tutorial also describes the necessary values to submit a job, including project ID, region, cluster name, and the Cloud Storage filepath of the PySpark job."],["Users can utilize an inline workflow to perform all actions with one API request, rather than making separate requests, as shown in the provided example."]]],[]]