Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Big data: Estraccion de datos de la paginas Los tiempos, El deber, Opinion

##Primer paso: Base de datos logoMysql

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):

password.

una vez ejecutado el codigo de mysql como resultado tenemos lo siguiente:

baseDatosbaseDatosCreado

##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.

Scraping

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:

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.

fecha

Vamos a generar la solicitud presionando el boton: "INICIAR SOLICITUD". Y en la interfaz nos tendria que mostrar:

generamosTxt

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.

txt4

##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).

virtualBox

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

servidorfile

y si todo esta correcto nos mostrar esto:

conexionCorrecta

una vez hecho estos pasos, vamos a arrastras el archivo txt al apartado de hadoop:

arrastre

esperamos ya que suele tardar y notamos que se transferio correctamente el archivo y lo podemos en en hadoop:

traspaso

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/

progresoHadop

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:

resultado

este archivo lo cambiamos por el nombre noticia.txt y lo ponemos a la interfaz para ver los resultados:

filtrps

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.

resultadoFinal

se puede escoger los periodicos como las palabras claves.

About

En este proyecto se hizo el proceso de scraping y el analisis de los datos con hadoop

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages