La base de datos que se esta usando es Mysql, esta de forma local, en el cual se tiene que insertar el codigo para crear la tabla:
CREATE DATABASE BigData;
USE BigData;
CREATE TABLE noticias (
id VARCHAR(500) PRIMARY KEY,
title VARCHAR(255) NOT NULL,
date DATE NOT NULL,
content TEXT NOT NULL,
link VARCHAR(500) NOT NULL,
page VARCHAR(50) NOT NULL,
linkImage VARCHAR(500) NOT NULL,
contentFilter TEXT NOT NULL
);
Posterior a eso se tiene que ir al archivo a la ruta src/lib/bd.ts y se tiene que cambiar el password por la contrasenia que tiene la base de datos(contrasenia que se puso al momento de crear la base de datos, eso es diferente por cada caso):
una vez ejecutado el codigo de mysql como resultado tenemos lo siguiente:
##Segundo paso: realizar el scraping
Para la parte del scraping se tiene que tomar en cuenta el tiempo, se recomiendo poner el valor de 30 pagianas y esto tardaria alrededor de 4 horas en recolectar los datos de las 3 paginas en simultaneo si se presiona el boton "Todas las paginas", si es pagina uno por uno tardara un maximo de 1 hora.
Nota: El proyecto esta en react asi que una vez descargado el proyecto, abrimos la carpeta en un editor de codigo y ejecutamos npm install para descargar las dependencias y luego para correr el proyecto el npm run dev.
SCRAPING FINALIZADO Una vez finalizado el scraping ya deberiamos tener la base de datos con datos:
##Generar archivo txt
Una vez teniendo los datos en la base de datos vamos a poner una fecha inicial y una fecha final para poder descargar las noticias en un txt.
Vamos a generar la solicitud presionando el boton: "INICIAR SOLICITUD". Y en la interfaz nos tendria que mostrar:
Lo que nos muestra es las noticias que hemos extraido del scraping y para poder descargarlos en un formato txt vamos a presionar en el boton "DESCARGAR NOTICIAS" y posterior a eso guardamos el txt con el nombre noticias ya que en hadoop lo va a reconocer con ese nombre para su analisis.
##Hadoop configuraciones y comandos
Antes tenemos que descargar el archivo hadoop-bigData que esta en este link ![]https://drive.google.com/drive/folders/1VC97MHkIZ1d6AmC9DC8WQtyRwH5oJsCl Para poder usar Hadoop vamos a tener que instalar:
- Virtual box. -El ova (Carpeta ova).iniciamos el ova en el virtual box y cuando ya este listo la maquina virtual nos pedira un usuario y contrasenia: usuario: hadoop contrasenia: hadoop luego ejecutamos estos comandos para su correcto funcionamiento:
[hadoop@nodo1 ~]$ start-dfs.sh
[hadoop@nodo1 ~]$ start-yarn.sh
[hadoop@nodo1 ~]$ ./automatizacion.sh
[hadoop@nodo1 ~]$ rm -rf /home/hadoop/resultado/*
[hadoop@nodo1 ~]$ hdfs dfs -put noticias.txt /noticias
[hadoop@nodo1 ~]$ cd /opt/hadoop/hadoop-2.7.7
[hadoop@nodo1 hadoop-2.7.7]$ cd share/
[hadoop@nodo1 share]$ cd hadoop/
[hadoop@nodo1 hadoop]$ cd mapreduce/
[hadoop@nodo1 mapreduce]$ hadoop jar hadoop-mapreduce-examples-2.7.7.jar wordcount /noticias /resultado
[hadoop@nodo1 mapreduce]$ hdfs dfs -get /resultado/part-r-00000 /home/hadoop/resultado
[hadoop@nodo1 mapreduce]$ hdfs dfs -rm -r /resultado
[hadoop@nodo1 mapreduce]$ hdfs dfs -rm /resultado/noticias.txt
hdfs dfs -rm -r /resultado
hdfs dfs -rm /noticias/noticias.txt
cabe recalcar que solo se ejecuta una vez todos estos comandos pero si luego se apaga la maquina virtual, y se la vuelve a prender solo ejecutamos:
[hadoop@nodo1 ~]$ start-dfs.sh
[hadoop@nodo1 ~]$ start-yarn.sh
para que funcione correctamente.
##Analizar noticias
Para analizar el archivo txt en el hadoop tenemos que conectarnos con nuestra maquina virtual desde nuestra maquina, en este caso tenemos windows 10, se esta usando filezilla para poder hacer la transferencia del archivo noticias.txt, para esto a que darle el servidor y un puerto.
servidor: sftp://localhost usuario: hadoop contrasenia: hadoop puerto: 22022
y si todo esta correcto nos mostrar esto:
una vez hecho estos pasos, vamos a arrastras el archivo txt al apartado de hadoop:
esperamos ya que suele tardar y notamos que se transferio correctamente el archivo y lo podemos en en hadoop:
como se puede apreciar tenemos el archivo txt.
luego ejecutamos el comando:
./automatization.sh
y esperamos a que termine para poder ver que esta haciendo hadoop podemos poner el dominio: http://localhost:8089/
se ve que esta haciendo el proceso y cuando termine nos mostrara SUCCEEDED. Finalizado el proceso nos vamos a la carpeta hadoop y este no ha generado un archivo este tenemos que traerlo a nuestro escritorio, este es el resultado de todo el proceso hecho:
este archivo lo cambiamos por el nombre noticia.txt y lo ponemos a la interfaz para ver los resultados:
presionamos el boton "CARGAR MAP REDUCE" y colocamos el archivo noticias.txt (El cual se cambio de nombre por ser el resultdo despues del proceso de hadoop), escogemos una fecha inicial y final y presionamos el boton "INICIAR SOLICITUD " esto para traer las noticias de la base datos, y con todo eso ya tenemos las palabras claves para ir escogiendo cuales fueron las noticas mas publicadas en ese rango de fechas.
se puede escoger los periodicos como las palabras claves.

















