informe de materia de graduación

23
Informe de Materia de Informe de Materia de Graduación Graduación Uso de la plataforma Pig sobre Hadoop como Uso de la plataforma Pig sobre Hadoop como alternativa a una RDBMS para el análisis de alternativa a una RDBMS para el análisis de datos masivos. Prueba de concepto utilizando datos masivos. Prueba de concepto utilizando registros de detalles de llamadas” registros de detalles de llamadas” Presentado por: Presentado por: Romeo Cabrera Arévalo Romeo Cabrera Arévalo Fabricio Medina Palacios Fabricio Medina Palacios Profesora: Ing. Cristina Abad Profesora: Ing. Cristina Abad

Upload: ayita

Post on 04-Jan-2016

46 views

Category:

Documents


5 download

DESCRIPTION

Informe de Materia de Graduación. “Uso de la plataforma Pig sobre Hadoop como alternativa a una RDBMS para el análisis de datos masivos. Prueba de concepto utilizando registros de detalles de llamadas”. Presentado por: Romeo Cabrera Arévalo Fabricio Medina Palacios. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Informe de Materia de Graduación

Informe de Materia de GraduaciónInforme de Materia de Graduación

““Uso de la plataforma Pig sobre Hadoop Uso de la plataforma Pig sobre Hadoop como alternativa a una RDBMS para el como alternativa a una RDBMS para el análisis de datos masivos. Prueba de análisis de datos masivos. Prueba de

concepto utilizando registros de detalles concepto utilizando registros de detalles de llamadas”de llamadas”

Presentado por:Presentado por:Romeo Cabrera ArévaloRomeo Cabrera ArévaloFabricio Medina PalaciosFabricio Medina Palacios

Profesora: Ing. Cristina AbadProfesora: Ing. Cristina Abad

Page 2: Informe de Materia de Graduación

IntroducciónIntroducción En la actualidad se ha dado una explosión En la actualidad se ha dado una explosión

y alta penetración en la telefonía celular.y alta penetración en la telefonía celular. La información de registros (CDRs) La información de registros (CDRs)

generada por el uso de los servicios es del generada por el uso de los servicios es del orden de los terabytes al mes. orden de los terabytes al mes.

Enfoque tradicional: Almacenar esta Enfoque tradicional: Almacenar esta información en RDBMSs para su información en RDBMSs para su procesamiento.procesamiento.

El paradigma “en la nube” para realizar El paradigma “en la nube” para realizar procesamiento paralelo masivo de procesamiento paralelo masivo de información surge como una alternativa.información surge como una alternativa.

Page 3: Informe de Materia de Graduación

ObjetivosObjetivos

1.1. Comprobar la escalabilidad y adecuación al uso Comprobar la escalabilidad y adecuación al uso de la herramienta Pig sobre Hadoop para el de la herramienta Pig sobre Hadoop para el procesamiento de cantidades masivas de procesamiento de cantidades masivas de registros.registros.

2.2. Comparar la razón costo/rendimiento entre el Comparar la razón costo/rendimiento entre el uso de Pig-Hadoop en un clúster en la nube uso de Pig-Hadoop en un clúster en la nube contra el uso de un RDBMS comercial para contra el uso de un RDBMS comercial para procesar registros masivamente. procesar registros masivamente.

3.3. Demostrar la facilidad de crear consultas ad-hoc Demostrar la facilidad de crear consultas ad-hoc usando Pig para diversas y cambiantes usando Pig para diversas y cambiantes necesidades de análisis de información. necesidades de análisis de información.

Page 4: Informe de Materia de Graduación

AlcanceAlcance

1.1. Instalar una plataforma basada en Pig sobre Instalar una plataforma basada en Pig sobre Hadoop para el procesamiento de registros de Hadoop para el procesamiento de registros de detalles de llamadas.detalles de llamadas.

2.2. Configurar esta plataforma para que sea Configurar esta plataforma para que sea ejecutada sobre Amazon EC2. ejecutada sobre Amazon EC2.

3.3. Desarrollar scripts en Pig que realicen análisis Desarrollar scripts en Pig que realicen análisis de esta información.de esta información.

4.4. Comparar esta solución frente al uso de una Comparar esta solución frente al uso de una herramienta comercial (Oracle) en una empresa herramienta comercial (Oracle) en una empresa de telefonía celular local.de telefonía celular local.

5.5. Desarrollar un sencilla interfaz Web para poder Desarrollar un sencilla interfaz Web para poder ingresar y/o subir scripts en Pig para esta ingresar y/o subir scripts en Pig para esta plataforma, y para realizar una visualización de plataforma, y para realizar una visualización de los resultados.los resultados.

Page 5: Informe de Materia de Graduación

Archivos CDRsArchivos CDRs Registros informáticos generados por una central Registros informáticos generados por una central

telefónica, los cuales contienen detalles de los eventos telefónica, los cuales contienen detalles de los eventos que han pasado a través de ellaque han pasado a través de ella..

Ejemplo:Ejemplo:– 10888,59390730123,6-29-2009,86067,6-30-10888,59390730123,6-29-2009,86067,6-30-

2009,17667,202,304,1222F83264085818006907301232009,17667,202,304,1222F832640858180069073012300980,1436,0,0,0,319,,108,0,0,0,701,1002,101,-00980,1436,0,0,0,319,,108,0,0,0,701,1002,101,-1,0, ,0,9,35,9/28/2008 17:55:0,1/1/1900 1,0, ,0,9,35,9/28/2008 17:55:0,1/1/1900 0:0:0,9/28/2008 0:0:0,9/28/2008 17:55:0,0,0,0,0,,0,0,0,0,0,0,1,2,1,350,16,50,-17:55:0,0,0,0,0,,0,0,0,0,0,0,1,2,1,350,16,50,-1,0,59385818006,740010115532771,59397995028,2,1,0,59385818006,740010115532771,59397995028,2,11

Especifica datos como: Número origen, Número destino, Especifica datos como: Número origen, Número destino, Hora de evento, Celda origen, Duración del evento, Perfil Hora de evento, Celda origen, Duración del evento, Perfil del suscriptor, Tipo de Tarificación del evento, entre otros.del suscriptor, Tipo de Tarificación del evento, entre otros.

Page 6: Informe de Materia de Graduación

Arquitectura sistema actualArquitectura sistema actual

FTPTELNET

The height of the text box

and its associated braces

increases or decreases as

you add text. To change the

width of the comment, drag

one of the side handles.

The height of the text box

and its associated braces

increases or decreases as

you add text. To change the

width of the comment, drag

one of the side handles.

Code lines Code lines

Application

Provider’s Servers Local Servers Databases

Users

The height of the text box

and its associated braces

increases or decreases as

you add text. To change the

width of the comment, drag

one of the side handles.

Code lines

Code lines

Code lines Code linesCode lines

Cdrs Voz

Espacio físico (Tablespaces (DAT, IDX)

670 GB (90 días)

Cdrs SMS (registros de mensajes de texto)

Espacio físico (Tablespaces (DAT, IDX)

710 GB (90 días)

Procesos En línea y por lotes para carga de Cdrs a Bases de datos

Page 7: Informe de Materia de Graduación

DiseñoDiseño

Hadoop: Implementación Open Source del Hadoop: Implementación Open Source del paradigma MapReduce de computación paradigma MapReduce de computación distribuida.distribuida.

Pig: Capa de software que recibe scripts en Pig: Capa de software que recibe scripts en un lenguage de flujo de datos y los un lenguage de flujo de datos y los convierte en trabajos MapReduce.convierte en trabajos MapReduce.

Uso de archivos comprimidos BZ2Uso de archivos comprimidos BZ2 Uso de servicios Web de AmazonUso de servicios Web de Amazon

– Simple Storage Service (S3)Simple Storage Service (S3)– Elastic Cloud Computing (EC2)Elastic Cloud Computing (EC2)

Page 8: Informe de Materia de Graduación

Arquitectura de la soluciónArquitectura de la solución

Red interna de la Empresa

Plataforma de rateo PPA

COLECTOR

NUBE (Internet)

Usuario WebServer (Aplicación Web)

INTERNET

Bucket AMAZON S3

Nodo AMAZON EC2

Hadoop (Master)

Nodos AMAZON EC2 Hadoop

(Slaves)

CDRs

CDRs

Page 9: Informe de Materia de Graduación

Esquema de directoriosEsquema de directorios

Page 10: Informe de Materia de Graduación

Script en PigScript en Pig

A = LOAD 'A = LOAD 'cdrs/data/SMS/2009/01cdrs/data/SMS/2009/01' ' USING PigStorage(',');USING PigStorage(',');

Y = GROUP A BY $1;Y = GROUP A BY $1;

Z = FOREACH Y GENERATE Z = FOREACH Y GENERATE $0,COUNT(A);$0,COUNT(A);

N = ORDER Z BY $1 DESC;N = ORDER Z BY $1 DESC;

STORE N INTO 'output/sms' USING STORE N INTO 'output/sms' USING PigDump();PigDump();

Page 11: Informe de Materia de Graduación

Pantalla de consultas predeterminadasPantalla de consultas predeterminadas

Page 12: Informe de Materia de Graduación

Ingreso de script por pantallaIngreso de script por pantalla

Page 13: Informe de Materia de Graduación

Ingreso de script por archivoIngreso de script por archivo

Page 14: Informe de Materia de Graduación

Consulta de requerimientosConsulta de requerimientos

Page 15: Informe de Materia de Graduación

Consulta de detalle de requerimientoConsulta de detalle de requerimiento

Page 16: Informe de Materia de Graduación

Gráfico de resultadoGráfico de resultado

Page 17: Informe de Materia de Graduación

PruebasPruebas

Se probó con archivos CDRs de 3,15 GB. Se probó con archivos CDRs de 3,15 GB. (1,54 GB(1,54 GB comprimidos) comprimidos)

Dos procesos:Dos procesos:– Sumatoria de SMSSumatoria de SMS..– Distribución de envío de mensajesDistribución de envío de mensajes..

Nodos Linux “High CPU medium” (Nodos Linux “High CPU medium” (1.7 GB 1.7 GB de memoria, 5 EC2 computing units, 350 de memoria, 5 EC2 computing units, 350 GB de almacenamiento local y plataforma GB de almacenamiento local y plataforma de 32 bits.de 32 bits. ) )

1 EC2 C.U. = 1 EC2 C.U. = Xeon 2007 de 1.0-1.2 GHzXeon 2007 de 1.0-1.2 GHz

Page 18: Informe de Materia de Graduación

ResultadosResultados

Tiempo de ejecución de procesos (en segundos)Tiempo de ejecución de procesos (en segundos)

368

380

610

315 311

550

0

100

200

300

400

500

600

700

4 nodos 9 nodos 16 nodos

Sumatoria por telefono

Distribucion horaria

Page 19: Informe de Materia de Graduación

Costo monetarioCosto monetario

Costo licencia RDBMS por procesador: $47.500

No. De procesadores: 24

Costo total de licencia RDBMS para servidor: $1’140.000

Costos de soporte anual RDBMS: $10,450

Costo anual soporte de hardware $30,000

TOTAL ~$1’120,000

Almacenamiento

2500 GB /12 meses x $0,15 /GB $4500 anuales

Transferencia

210 GB / meses x 12 meses x $0,17 /GB

$428 anuales

Procesamiento

$455 Pago único anual: $455

Horas al año x instancia: 8760 (uso 24/7)

Número de instancias: 20

Horas utilizadas al año total: 175 200

Costo por nodo por hora, esquema “Reserved Instances”:

$0,06

Total procesamiento: $10512

TOTAL GENERAL: ~$15000

Nuevo esquemaNuevo esquemaEsquema tradicionalEsquema tradicional

Costo anual de soporte HW: Costo anual de soporte HW: $250.000$250.000

Costo del HW: $1 MillónCosto del HW: $1 Millón

Page 20: Informe de Materia de Graduación

ConclusionesConclusiones La solución presentada permite el realizar La solución presentada permite el realizar

consultas y análisis sobre volúmenes de consultas y análisis sobre volúmenes de información que no hubieran sido posibles en un información que no hubieran sido posibles en un esquema de RDMS convencional.esquema de RDMS convencional.

Esta tecnología no implica un reemplazo de una Esta tecnología no implica un reemplazo de una RDBMS tradicionalRDBMS tradicional, más bien la complementa., más bien la complementa.

Pig minimiza el tiempo necesario para Pig minimiza el tiempo necesario para implementar un requerimiento ad-hoc.implementar un requerimiento ad-hoc.

El costo monetario de almacenamiento y El costo monetario de almacenamiento y procesamiento en un clúster en la nube es dos procesamiento en un clúster en la nube es dos órdenes de magnitud inferiores al de una solución órdenes de magnitud inferiores al de una solución tradicional.tradicional.

El uso de las plataformas Pig, MapReduce, EC2, El uso de las plataformas Pig, MapReduce, EC2, simplifican el desarrollo de aplicaciones simplifican el desarrollo de aplicaciones distribuidas.distribuidas.

Page 21: Informe de Materia de Graduación

RecomendacionesRecomendaciones Uso de EBS (Elastic Block Store) como alternativa Uso de EBS (Elastic Block Store) como alternativa

a S3.a S3. Actualizar a Hadoop 0.20 (se utiliza 0.18). Mejoras Actualizar a Hadoop 0.20 (se utiliza 0.18). Mejoras

varias en rendimiento y permite referenciar varias en rendimiento y permite referenciar directamente archivos S3.directamente archivos S3.

Levantar los nodos en demanda, y en una Levantar los nodos en demanda, y en una cantidad óptima para cada script.cantidad óptima para cada script.

Uso de SQS (Simple Queue System) o similar para Uso de SQS (Simple Queue System) o similar para control y priorización de trabajos enviados a control y priorización de trabajos enviados a procesar.procesar.

Usos adicionales: Minería de datos para Usos adicionales: Minería de datos para marketing, detección de patrones de fraude, etc.marketing, detección de patrones de fraude, etc.

Page 22: Informe de Materia de Graduación

PreguntasPreguntas

Page 23: Informe de Materia de Graduación

¡Gracias!¡Gracias!