Sistema para extraer, analizar y consolidar en una base de datos, la información de los cursos masivos y abiertos en línea del Programa IDBx
Jupyter Notebook JavaScript Shell Makefile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Proceso ETL
Proceso de analisis
Detalles_del_proceso.md
LICENSE
README.md

README.md

Esta herramienta digital está publicada en página web de la iniciativa Código para el Desarrollo

IDBx Data Engine


Este sistema extrae, analiza y consolida en una base de datos, la información de los cursos masivos y abiertos en línea del Programa IDBx, contenida en el paquete de información generada por la plataforma tecnológica edX, en donde se imparten dichos cursos.

El Instituto Interamericano para el Desarrollo Económico y Social (INDES) ha desarrollado una serie de Cursos Masivos y Abiertos en Línea (MOOCs por sus siglas en inglés), que forman parte del Programa IDBx, cuyo objetivo es promover productos de conocimiento abierto relativos al desarrollo económico y social en América Latina y el Caribe. En respuesta a la necesidad de información confiable para la gestión y mejora de la toma de decisiones del programa IDBx, el INDES puso en marcha el proyecto de datos IDBx Data Engine. Este proceso consta de dos componentes:

  1. Proceso ETL: Automatización del proceso de extracción, transformación y carga de los datos procedentes del paquete de información y otras fuentes proporcionadas por edX.

  2. Proceso de análisis: Análisis y creación de indicadores que sirven de insumo para visualizaciones y gráficos de monitoreo (Dashboards). Este último componente permite el seguimiento continuo del Programa IDBx, a través del análisis de variables e indicadores clave de negocio previamente seleccionadas.

Visión general

La siguiente imagen muestra de manera general el proceso que siguen los datos en el sitema.

N|Solid Para conocer en más detalle el proceso, leer el archivo Detalles_del_proceso.md

Cómo instalar


Preparación del ambiente de trabajo

Los siguientes archivos sirven para la creación e instalación de ejecutable en Docker:

  • Dockerfile
  • Makefile
  • units/. (archivos dentro de la carpeta units)

Los siguientes archivos sirven para el procesamiento de datos (ETL):

  • Key-old.asc
  • Package.json
  • Run.sh
  • shell.js
  • Edx-import.js
  • commands/*.js

Archivos de Referencia:

  • Detalles_del_proces.md

De todos los archivos provistos por la plataforma Edx, este software importa, extrae y procesa los siguientes archivos para transformarlos en una base de datos no estructurada y facilitar su análisis. Los archivos de “course content” importados por cada curso son:

  • Auth_user-prod-analytics.sql
  • Auth_userprofile-prod-analytics.sql
  • Certificates_generatedcertificate-prod-analytics.sql
  • Courseware_studentmodule-prod-analytics.sql
  • Student_courseenrollment-prod-analytics.sql
  • User_id_map-prod-analytics.sql

Y los de “event content” son los incluidos en la siguiente carpeta:

  • Events

Configuaración de llaves de acceso

Activar el docker y configurar las llaves de acceso a los archivos. (edX provee las llaves de acceso para cada paquete de datos)

docker run --rm \
--name edx-import \
--env AWS_ACCESS_KEY_ID=… \
--env AWS_SECRET_ACCESS_KEY=… \
--env KEY_PASSPHRASE=… \
--env STORAGE_DB=edx \
--link mongodb-storage:storage \
iadb/edx-import

Sync

El proceso de sincronización de datos descargará el último paquete de datos directamente del S3 de AWS de edX. Después de desencriptar los archivos y procesarlos, guarda los registros en una base de datos MongoDB.

docker run ... iadb/edx-import  sync

Commandos

Existen diferentes scripts en la carpeta "commands". Los detalles de los mismos se encuentran ecomentados en cada archivo de comandos. La manera más fácil de ejecutarlos es:

docker run ... iadb/edx-import cmd [NAME]

Pasos para utilizar el software:

  • Actualización del archivo shell.js (con la metadata de cada curso). Para poder agregar nuevos cursos en los reportes de la base de datos alojada en nuestro servidor Master, se deberá incluir la metadata del nuevo curso, en el archivo shell, indicando la siguiente información:
  • id (código del curso en la base de datos)
  • Name (nombre completo del curso)
  • Sme (departamento y/o área del Banco o outsider involucrado)
  • Start_date (Fecha de inicio)
  • End_date (Fecha de fin)

Ejecución en segundo plano

Si se requiere, cualquier comando puede ser ejecutado en segundo plano ejecutando el siguiente código en el shell:

# Start an interactive instance as a deattached container
docker run -itd --name bg \
-v /home/core:/tmp \
--link mongodb-container:storage \
--entrypoint "/bin/bash" \
iadb/edx-import

# Start a new shell in the same container
docker exec -it bg /bin/bash

# Execute the process, send it to the background and disown
# [PROCESS HERE]...
bg && disown %1
exit

Más información


Licencia

LICENSE

Cómo contribuir

  • Integración del archivo MASTERFILE en el proceso de extracción de datos.

Autores

Links útiles