Introducció a Cloud Dataproc
Cloud Dataproc és un servei de Google Cloud Platform que facilita la gestió de clústers Apache Hadoop i Apache Spark. Permet processar grans volums de dades de manera eficient i escalable, aprofitant la infraestructura de Google Cloud.
Objectius d'aquest tema:
- Comprendre què és Cloud Dataproc i les seves funcionalitats bàsiques.
- Aprendre a crear i gestionar clústers de Dataproc.
- Executar treballs de Hadoop i Spark en un clúster de Dataproc.
- Optimitzar el rendiment i els costos dels clústers.
Què és Cloud Dataproc?
Cloud Dataproc és un servei gestionat que permet executar treballs de processament de dades utilitzant les eines de l'ecosistema Hadoop, com Spark, Hive i Pig. Ofereix una manera senzilla i ràpida de crear, gestionar i escalar clústers de processament de dades.
Característiques clau:
- Gestió Automàtica: Creació, configuració i gestió automàtica de clústers.
- Escalabilitat: Escalabilitat dinàmica per adaptar-se a les necessitats de processament.
- Integració: Integració amb altres serveis de GCP com Cloud Storage, BigQuery i Cloud Bigtable.
- Cost-efectivitat: Pagament per ús, amb la possibilitat d'aturar clústers quan no s'utilitzen per estalviar costos.
Crear un clúster de Dataproc
Pas 1: Configurar el teu entorn
Abans de crear un clúster, assegura't que tens un projecte de GCP configurat i que has activat l'API de Dataproc.
Pas 2: Crear un clúster
Pots crear un clúster de Dataproc utilitzant la consola de GCP, la línia de comandes gcloud
o programàticament amb l'API de Dataproc.
Utilitzant la consola de GCP:
- A la consola de GCP, ves a Dataproc.
- Fes clic a Crear clúster.
- Omple els detalls del clúster, com el nom, la regió i la configuració de nodes.
- Fes clic a Crear.
Utilitzant la línia de comandes gcloud
:
gcloud dataproc clusters create my-cluster \ --region=us-central1 \ --zone=us-central1-a \ --master-machine-type=n1-standard-1 \ --worker-machine-type=n1-standard-1 \ --num-workers=2
Pas 3: Executar treballs en el clúster
Un cop creat el clúster, pots executar treballs de Hadoop o Spark.
Exemple: Executar un treball de Spark
gcloud dataproc jobs submit spark \ --cluster=my-cluster \ --region=us-central1 \ --class=org.apache.spark.examples.SparkPi \ --jars=file:///usr/lib/spark/examples/jars/spark-examples.jar \ -- 1000
Pas 4: Gestionar i aturar el clúster
Pots gestionar el clúster des de la consola de GCP o utilitzant la línia de comandes gcloud
.
Aturar el clúster:
Optimització del rendiment i costos
Escalabilitat automàtica
Cloud Dataproc permet configurar l'escalabilitat automàtica per ajustar el nombre de nodes en funció de la càrrega de treball.
Configurar l'escalabilitat automàtica:
gcloud dataproc clusters update my-cluster \ --region=us-central1 \ --num-workers=3 \ --max-idle=10m
Utilitzar preemptible VMs
Les preemptible VMs són instàncies de màquina virtual de baix cost que poden ser interrompudes per Google Cloud. Són ideals per a treballs de processament de dades que poden tolerar interrupcions.
Crear un clúster amb preemptible VMs:
gcloud dataproc clusters create my-cluster \ --region=us-central1 \ --zone=us-central1-a \ --master-machine-type=n1-standard-1 \ --worker-machine-type=n1-standard-1 \ --num-workers=2 \ --num-preemptible-workers=2
Exercicis pràctics
Exercici 1: Crear i gestionar un clúster de Dataproc
- Crea un clúster de Dataproc amb 2 nodes de treball.
- Executa un treball de Spark que calculi el valor de Pi.
- Atura el clúster un cop finalitzat el treball.
Solució:
# Crear el clúster gcloud dataproc clusters create my-cluster \ --region=us-central1 \ --zone=us-central1-a \ --master-machine-type=n1-standard-1 \ --worker-machine-type=n1-standard-1 \ --num-workers=2 # Executar el treball de Spark gcloud dataproc jobs submit spark \ --cluster=my-cluster \ --region=us-central1 \ --class=org.apache.spark.examples.SparkPi \ --jars=file:///usr/lib/spark/examples/jars/spark-examples.jar \ -- 1000 # Aturar el clúster gcloud dataproc clusters delete my-cluster --region=us-central1
Exercici 2: Configurar l'escalabilitat automàtica
- Crea un clúster de Dataproc amb escalabilitat automàtica.
- Configura el clúster perquè tingui un mínim de 2 nodes i un màxim de 5 nodes.
- Executa un treball de Spark i observa com el clúster s'escala automàticament.
Solució:
# Crear el clúster amb escalabilitat automàtica gcloud dataproc clusters create my-cluster \ --region=us-central1 \ --zone=us-central1-a \ --master-machine-type=n1-standard-1 \ --worker-machine-type=n1-standard-1 \ --num-workers=2 \ --max-workers=5 # Executar el treball de Spark gcloud dataproc jobs submit spark \ --cluster=my-cluster \ --region=us-central1 \ --class=org.apache.spark.examples.SparkPi \ --jars=file:///usr/lib/spark/examples/jars/spark-examples.jar \ -- 1000
Resum
En aquest tema, hem après què és Cloud Dataproc i com utilitzar-lo per gestionar clústers de processament de dades. Hem vist com crear, gestionar i escalar clústers, així com executar treballs de Hadoop i Spark. També hem explorat tècniques per optimitzar el rendiment i els costos dels clústers. Amb aquests coneixements, estàs preparat per utilitzar Cloud Dataproc en els teus projectes de processament de dades.
Curs de Google Cloud Platform (GCP)
Mòdul 1: Introducció a Google Cloud Platform
- Què és Google Cloud Platform?
- Configurar el teu compte de GCP
- Visió general de la consola de GCP
- Comprendre projectes i facturació
Mòdul 2: Serveis bàsics de GCP
Mòdul 3: Xarxes i seguretat
Mòdul 4: Dades i analítica
Mòdul 5: Aprenentatge automàtic i IA
Mòdul 6: DevOps i monitoratge
- Cloud Build
- Repositoris de codi font al núvol
- Funcions al núvol
- Monitoratge de Stackdriver
- Gestor de desplegament al núvol
Mòdul 7: Temes avançats de GCP
- Híbrid i multi-núvol amb Anthos
- Computació sense servidor amb Cloud Run
- Xarxes avançades
- Millors pràctiques de seguretat
- Gestió i optimització de costos