Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lab Cloud Dataproc - Submit Spark Job - Conexión Con Google Cloud Storage
Lab Cloud Dataproc - Submit Spark Job - Conexión Con Google Cloud Storage
Objetivo
El objetivo de este laboratorio es lanzar un job en Spark empleando PySpark con línea de
comando en Cloud Shell sobre el cluster creado en Cloud Dataproc. Se emplea Cloud Storage
en lugar de HDFS como servicio de almacenamiento.
Requerimientos
● GCP Project
● Cloud Console
● Cloud Shell y Editor para realizar el submit del Pyspark Job
● Texto de Project Gutenberg
Procedimiento
1. Ir al servicio Cloud Storage
Observación:
- Location Type: Region
- Location: Utilizar una región cercana al espacio geográfico en el que te
encuentras.
- Tipo de storage para tus datos: Utilizar el Storage del tipo Standard, el cual
es utilizado para almacenamiento de corta duración con mucha frecuencia de
uso
3. Ingresar al bucket y crear la carpeta llamada input . Hacer click en CREATE FOLDER
4. Ingresar a la carpeta input, click en UPLOAD FILES y subir el archivo
text_gutenberg.txt
'''
Cuenta la cantidad de palabras en un texto determinado usando Spark con
procesamiento
'''
import pyspark
import sys
if len(sys.argv) !=3:
raise Exception("2 argumentos son requeridos: <inputUri> <outputUri>")
inputUri=sys.argv[1]
outputUri=sys.argv[2]
sc=pyspark.SparkContext()
lines = sc.textFile(sys.argv[1])
words = lines.flatMap(lambda line: line.split())
wordCounts=words.map(lambda word:(word,1)).reduceByKey(lambda count1,count2:
count1+count2)
wordCounts.saveAsTextFile(sys.argv[2])
14. Click en File. Click en Save
16. Se puede revisar el estado de cada job. Hacer click en “Jobs” o Tareas. El color verde
indica que el proceso terminó con éxito.
$ gsutil ls gs://cs_user_lot_tg/output
Observación:
Como se observa el resultado se encuentra particionado en dos archivos
$ gsutil cp gs://cs_user_lot_tg/output/* .
20. Finalmente para ver el contenido del archivo unificado (part-00000) ingresar el
siguiente comando
$ cat part-00000 | sort -k 2