- Descripción del Proyecto
- Instalación
- Ejecutar la Aplicación Web
- Manejo de Errores
- Resumen de Comandos
Este proyecto tiene como objetivo analizar las tendencias en noticias utilizando tecnologías de Big Data, específicamente Hadoop, para proporcionar información sobre los artículos más relevantes dentro de un período de tiempo especificado.
- Recolección de Datos: Utilizamos técnicas de web scraping para recoger artículos de noticias de fuentes especificadas, creando un data lake rico que sirve como base para nuestro análisis.
- Entorno de Procesamiento de Datos: El entorno de análisis se establece en una máquina virtualizada con CentOS7 donde se instala Hadoop.
- Análisis de Big Data: Utilizando el marco de trabajo MapReduce de Hadoop, aplicamos un algoritmo de conteo de palabras para identificar y analizar tendencias entre dos fechas especificadas por el usuario. Este enfoque ayuda a determinar la frecuencia de términos y su relevancia durante el período seleccionado.
El proyecto cuenta con una interfaz web desarrollada en React/JavaScript. La interfaz se conecta mediante SSH al entorno virtualizado de CentOS7 para realizar las operaciones de análisis que permitan identificar la noticia más relevante en un intervalo de tiempo.
- Hadoop (MapReduce)
- CentOS7 (Entorno Virtual)
- Python (Web scraping)
- React/JavaScript (para la interfaz web)
- VirtualBox: Asegúrate de tener VirtualBox instalado en tu máquina.
- CentOS 7: Virtualiza CentOS 7 con Hadoop instalado.
- Crear la carpeta de entrada en HDFS (solo la primera vez):
hdfs dfs -mkdir /input
Los archivos CSV necesarios para el proyecto se pueden descargar del siguiente enlace y deben colocarse en la carpeta backend/data
:
Enlace para descargar archivos CSV
Para incluir los archivos en la carpeta backend/data
, sigue estos pasos:
- Descarga los archivos CSV desde el enlace proporcionado.
- Copia los archivos descargados a la carpeta
backend/data
de tu proyecto.
Puedes descargar el archivo .OVA de CentOS pre-configurado, que ya contiene la carpeta input
, desde el siguiente enlace:
Enlace para descargar CentOS .OVA
- Arranca la máquina virtual de CentOS 7.
- Loguéate en el sistema.
- Ejecuta los comandos de inicio de Hadoop:
start-dfs.sh start-yarn.sh
-
Backend:
- Navega a la carpeta del backend:
cd backend
- Instala las dependencias:
npm install
- Inicia el servidor:
node server.js
- Navega a la carpeta del backend:
-
Frontend:
- Navega a la carpeta del frontend:
cd frontend
- Instala las dependencias:
npm install
- Inicia la aplicación:
npm run dev
- Navega a la carpeta del frontend:
En caso de que la ejecución falle o se quede a medio camino, es importante borrar los archivos residuales para evitar conflictos en futuras ejecuciones. Utiliza los siguientes comandos en la terminal de CentOS7 para limpiar los recursos:
rm -fv /home/hadoop/texto.txt
hdfs dfs -rm /input/texto.txt
hdfs dfs -rm -r -skipTrash /output
-
Iniciar HDFS:
start-dfs.sh
-
Iniciar YARN:
start-yarn.sh
-
Crear carpeta de entrada en HDFS (solo la primera vez):
hdfs dfs -mkdir /input
-
Borrar archivo de texto local:
rm -fv /home/hadoop/texto.txt
-
Borrar archivo de entrada en HDFS:
hdfs dfs -rm /input/texto.txt
-
Borrar carpeta de salida en HDFS:
hdfs dfs -rm -r -skipTrash /output