Requerimientos:
- Tener Spark instalado y configurado, tomar como referente el siguiente link https://www.geeksforgeeks.org/install-apache-spark-in-a-standalone-mode-on-windows/
- Descargar IntelliJ IDEA Community Edition desde https://www.jetbrains.com/idea/download/download-thanks.html?platform=windows&code=IIC
Se desarrolló en PySpark,
Ventajas:
- Actualmente el código está parametrizado para poder recibir más archivos .csv, solo necesitamos agregar .csv en la carpeta data y modificar el archivo structureSchema.py la cual solicita definir el schema y el path , se explica la estructura post configuración de ambiente.
Primero,
- Descomprimir el archivo 1. local , luego abrir Intellij IDEA y abrir proyecto covid19_spark
- Modificar configuraciones de ejecución
- Indicar la ruta del archivo main.py archivo que contiene la clase principal de ejecución
- Estructura de archivos
-
src / Carpeta principal de código y recursos funcionales
-
main.py / Archivo principal de ejecución
-
jobs
- ingest.py / Job de Lectura de datos y almacenarlo en dataframes para su reutilización en el proceso
- dataClean.py / Job de limpieza de datos, para el ejemplo se hizo limpieza de campos string
- dataProcess.py / Job de Escritura y validación Offset de Datos - Valida nuevos registros y los ingresa a la tabla actual
-
schema
- structureSchema.py / Archivo primordial de configuración de Schemas y Path de archivos csv de la carpeta data
-
-
data / Carpeta donde se almacenan los archivos .csv
-
output / Carpeta de escritura en parquet
-
config / Carpeta de configuración de recursos de Spark
- sparkSettings.json / Json que contiene las configuraciones de spark, memoria, instancias, core
Se modificó el código de ejecución local y se adaptó para realizar la prueba pertinente en Google Colab
Primero
- Acceder al siguiente link de Colab https://colab.research.google.com/
- Después de haber iniciado sesión ubicarse en la opción de Subir Notebook!
- Importar el notebook ubicado en el comprimido carpeta 2. colab
Segundo, es necesario en crear la carpeta "data" y subir los 6 archivos .csv en la carpeta
Tercero, ejecutar todas las celdas
Finalmente validar la salida en la carpeta "output/" en formato parquet