View
56
Download
5
Category
Preview:
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
Citation preview
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
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.
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.
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.
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.
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
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)
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
Esquema de directoriosEsquema de directorios
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();
Pantalla de consultas predeterminadasPantalla de consultas predeterminadas
Ingreso de script por pantallaIngreso de script por pantalla
Ingreso de script por archivoIngreso de script por archivo
Consulta de requerimientosConsulta de requerimientos
Consulta de detalle de requerimientoConsulta de detalle de requerimiento
Gráfico de resultadoGráfico de resultado
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
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
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
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.
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.
PreguntasPreguntas
¡Gracias!¡Gracias!
Recommended