MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

112
MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS LICITATORIOS EN COLOMBIA USANDO ANALÍTICA DE DATOS Luis Carlos Álvarez Villamizar Darío Sebastián Limas Cano 2019 Universidad Distrital Francisco José De Caldas Facultad Tecnológica Ingeniería En Telemática

Transcript of MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

Page 1: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS

LICITATORIOS EN COLOMBIA USANDO ANALÍTICA DE DATOS

Luis Carlos Álvarez Villamizar

Darío Sebastián Limas Cano

2019

Universidad Distrital Francisco José De Caldas

Facultad Tecnológica

Ingeniería En Telemática

Page 2: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

i

MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS

LICITATORIOS EN COLOMBIA USANDO ANALÍTICA DE DATOS

Monografía, para optar por el título de Ingeniero en

Telemática

Tutor:

Ingeniero Jairo Hernández Gutiérrez

Darío Sebastián Limas Cano

Luis Carlos Álvarez Villamizar

2019

Universidad Distrital Francisco José De Caldas

Facultad Tecnológica

Ingeniería En Telemática

Page 3: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

ii

Tabla de Contenido

Resumen ..................................................................................................................................... 1 Abstrac ....................................................................................................................................... 2 Introducción ............................................................................................................................... 3

1. FASE DE DEFINICIÓN PLANEACIÓN Y ORGANIZACIÓN ...................................... 4 1.1. Modelo de referencia para la gestión de procesos licitatorios en Colombia usando

analítica de datos ......................................................................................................................... 4 1.2. Planteamiento del problema ...................................................................................... 4

1.2.1. Formulación del problema. ................................................................................... 5

1.3. Objetivos ................................................................................................................... 5 1.3.1. Objetivo general. ................................................................................................... 5 1.3.2. Objetivos específicos............................................................................................. 5

1.4. Alcances y delimitaciones......................................................................................... 6 1.4.1. Alcance. ................................................................................................................. 6 1.4.2. Delimitaciones. ...................................................................................................... 6

1.5. Justificaciones ........................................................................................................... 7 1.6. Marco de referencia .................................................................................................. 8

1.6.1. Estado del arte. ...................................................................................................... 8 1.7. Marco teórico .......................................................................................................... 10

1.7.1. Big data. .............................................................................................................. 10

1.7.2. Funcionamiento. .................................................................................................. 11 1.7.3. Big data en Colombia. ......................................................................................... 12

1.7.4. Política nacional de explotación de datos. .......................................................... 13 1.7.5. Fases del análisis. ................................................................................................ 14 1.7.6. Tipos de Analítica de datos. ................................................................................ 15

1.7.7. Web Scraping. ..................................................................................................... 17

1.7.8. Licitación. ............................................................................................................ 17 1.7.9. Proceso licitatorio en Colombia. ......................................................................... 17 1.7.10. Hadoop............................................................................................................. 19

1.7.11. HBase............................................................................................................... 20 1.7.12. Selenium . ........................................................................................................ 21

1.7.13. ElasticSearch. .................................................................................................. 22 1.8. Ciclo Deming .......................................................................................................... 23

1.9. Factibilidad ............................................................................................................. 24 1.9.1. Factibilidad operativa. ......................................................................................... 24 1.9.2. Factibilidad técnica. ............................................................................................ 25 1.9.3. Factibilidad económica. ...................................................................................... 25

1.9.4. Factibilidad Legal. ............................................................................................... 26 2. ANÁLISIS DE LA SITUACIÓN ACTUAL .................................................................... 29

2.1. Proceso actual de gestión de licitaciones en Colombia .......................................... 29

2.1.1. SECOP I. ............................................................................................................. 30 2.1.2. SECOP II. ............................................................................................................ 31

2.2. Procedimiento para la captura de datos .................................................................. 32 2.2.1. Registro y obtención de Token............................................................................ 32 2.2.2. Simulación peticiones HTTP. ............................................................................. 34

Page 4: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

iii

3. IDENTIFICACIÓN Y CONFIGURACIÓN DE HERRAMIENTAS TECNOLÓGICAS

BIG DATA.................................................................................................................................... 37 3.1. Identificación de herramientas para trabajar con Big Data ..................................... 38 3.2. Configuración inicial Hadoop ................................................................................. 40

3.2.1. Montaje primer nodo de Hadoop. ....................................................................... 41 3.2.1.1. Configuración HDFS - DATOS ................................................................... 41

3.2.2. Configuración MapReduce V2 – YARN – PROCESOS. ................................... 42 3.3. Configuración de ficheros para montar el Clúster .................................................. 45 3.4. Despliegue contenedores Docker ............................................................................ 48

3.5. Configuración de HIVE .......................................................................................... 50 4. MODELO DE BIG DATA ............................................................................................... 55

4.1. Diagrama del modelo propuesto ............................................................................. 56

4.2. Descripción del modelo .......................................................................................... 58 4.3. Detalle de los elementos del modelo ...................................................................... 59

4.3.1. HDFS – Hadoop Distributed File System ........................................................... 60

4.3.1.1. ¿Para qué sirve? ............................................................................................ 60 4.3.1.2. Arquitectura. ................................................................................................. 60

4.3.1.3. ¿Cómo es usado en el modelo? .................................................................... 63 4.3.1.4. ¿Qué más se puede hacer con él? ................................................................. 65 4.3.1.5. ¿Cómo más se puede complementar? ........................................................... 66

4.3.2. YARN – Yet Another Resource Negotiator ....................................................... 67 4.3.2.1. ¿Para qué sirve? ............................................................................................ 67

4.3.2.2. Arquitectura .................................................................................................. 67 4.3.2.3. ¿Cómo es usado en el modelo? .................................................................... 68 4.3.2.4. ¿Cómo se puede complementar? .................................................................. 69

4.3.3. HIVE ................................................................................................................... 71

4.3.3.1. Modos de ejecución de HIVE: ..................................................................... 71 4.3.3.2. Tipos de Datos (Schema) de HIVE .............................................................. 71 4.3.3.3. Como se accede al Hiveserver2 .................................................................... 72

4.3.4. HUE ..................................................................................................................... 75 4.3.4.1. Configuración. .............................................................................................. 75

4.3.4.2. Funcionalidad. .............................................................................................. 78 4.4. Seguridad en el modelo ........................................................................................... 80

4.5. Funcionamiento del modelo .................................................................................... 82 5. IMPLEMENTACIÓN Y PRUEBAS DEL MODELO ..................................................... 84

5.1. Captura de datos SECOP programa PHP................................................................ 84 5.1.1. Configuración de script ....................................................................................... 85

5.2. Configuración ODBC ............................................................................................. 89 5.3. Conexión OBDC PHP-HIVE .................................................................................. 93 5.4. Ejecución de consultas al HDFS por medio de HIVE ............................................ 94

5.5. Analítica de datos con HUE .................................................................................... 94 CONCLUSIONES ................................................................................................................. 100 RECOMENDACIONES ........................................................................................................ 102 BIBLIOGRAFÍA .................................................................................................................... 103

Page 5: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

iv

Lista de Ilustraciones

Ilustración 1 Fases del ciclo Deming. Fuente: Rojo (2018) ..................................................... 23 Ilustración 2 Colombia Compra Eficiente - Modulo Consulta SECOP I. Fuente: Colombia

Compra Eficiente (2019)............................................................................................................... 30

Ilustración 3 Colombia Compra Eficiente - Modulo Consulta SECOP II. Fuente: Colombia

Compra Eficiente (2019)............................................................................................................... 31 Ilustración 4 Búsqueda de proceso SECOP. Fuente propia ..................................................... 33 Ilustración 5 Botón "ver más" búsqueda procesos SECOP. Fuente propia ............................. 33 Ilustración 6 Token botón búsqueda de procesos SECOP. Fuente propia ............................... 34

Ilustración 7 Solicitud POST con mKey botón procesos SECOP. Fuente propia ................... 34 Ilustración 8 Solicitud POST índices y número de página botón procesos SECOP. Fuente propia

....................................................................................................................................................... 35

Ilustración 9 Respuesta HTTP POSTMAN búsqueda de procesos SECOP. Fuente Propia .... 35 Ilustración 10 Estructura Clúster Hadoop – Licitaciones. Fuente propia ................................ 37 Ilustración 11 Administrador Web: 9870 – vista de configuración del directorio del HDFS.

Fuente propia. ............................................................................................................................... 42 Ilustración 12 Arquitectura Hadoop MapReduce. Fuente: Packt (2015) ................................. 43

Ilustración 13 Administrador Web de los procesos de los Nodos. Fuente propia. .................. 44 Ilustración 14 Configuración Clúster - Fichero hdfs-site.xml. Fuente propia. ........................ 46 Ilustración 15 Configuración Clúster - Metadatos directorio Current Namenode. Fuente propia.

....................................................................................................................................................... 46 Ilustración 16 Web Administración Hadoop - Nodos esclavos activos. Fuente propia ........... 47

Ilustración 17 Administración Web Hadoop - Nodos esclavos YARN. Fuente propia ........... 47 Ilustración 18 Dockerfile - Configuración Sistema Operativo Centos 7. Fuente propia ......... 48 Ilustración 19 Dockerfile - Configuración Hadoop – Java. Fuente Propia. ............................. 49

Ilustración 20 Dockerfile - Configuración Hadoop variables entorno y puertos. Fuente: propia

....................................................................................................................................................... 50 Ilustración 21 Hadoop - Ubicación directorios Hadoop y Hive. Fuente: propia. ................... 51 Ilustración 22 Dockerfile - Configuración Hive variables de entorno. Fuente: propia. ........... 51

Ilustración 23 Hive - Ficheros de configuración hiveserver2. Fuente propia. ......................... 51 Ilustración 24 Hive - Creación carpetas por default en HDFS. Fuente propia......................... 52

Ilustración 25 Dockerfile - Configuración final Hive. Fuente propia. ..................................... 53 Ilustración 26 Modelo Big Data. Fuente propia. ...................................................................... 57

Ilustración 27 Arquitectura HDFS: Fuente Apache (2019) ..................................................... 61 Ilustración 28 Archivos directorio Current Namenode. Fuente propia. ................................... 62 Ilustración 29 Flujo de ficheros metadatos HDFS Namenode. Fuente propia ......................... 62 Ilustración 30 Directorio de la tabla procesos Base de Datos SECOP. Fuente propia ............ 64

Ilustración 31 Detalle bloque generado archivo SECOP. Fuente propia ................................. 64 Ilustración 32 Administración HDFS desde HUE. Fuente propia. .......................................... 66 Ilustración 33 Esquema MAPREDUCE - YARN. Fuente: Apache (2019) ............................. 68

Ilustración 34 Detalles de aplicaciones ejecutadas en el modelo. Fuente propia. .................... 69 Ilustración 35 Jobs generados a partir de la ejecución de aplicaciones MapReduce. Fuente

propia ............................................................................................................................................ 70 Ilustración 36 Detalle de las tareas generadas por los Jobs. Fuente propia. ............................ 70 Ilustración 37 Modos de conexión HiveServer2. Fuente: Mujumdar (2013) .......................... 73 Ilustración 38 Conexión Beeline CLI al HiveServer2. Fuente propia. .................................... 74

Page 6: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

v

Ilustración 39 Conexión JDBC HUE - HIVE. Fuente propia .................................................. 75 Ilustración 40 Configuración HUE - HDFS. Fuente propia. .................................................... 76 Ilustración 41 Configuración HUE - YARN. Fuente propia. ................................................... 77 Ilustración 42 Configuración HUE - HIVE. Fuente propia. .................................................... 77

Ilustración 43 Configuración HUE- Dockerfile. Fuente propia ............................................... 78 Ilustración 44 Comprobación de configuración HUE. Fuente propia. ..................................... 78 Ilustración 45 Bases de datos compatibles con HUE. Fuente propia. ...................................... 79 Ilustración 46 Editor de consultas HIVE SQL. Fuente propia ................................................. 79 Ilustración 47 Modelo Web Scraping. Fuente propia. ............................................................. 84

Ilustración 48 Ejemplo Selectores. Fuente propia. ................................................................... 86 Ilustración 49 Script Captura mkey SECOP. Fuente propia. ................................................... 87 Ilustración 50 Parámetros solicitud POST SECOP. Fuente propia. ......................................... 88

Ilustración 51 Array retornado de solicitud POST al SECOP. Fuente propia. ........................ 89 Ilustración 52 DRIVER HIVE OBDC. Fuente: Microsoft (2019) ........................................... 90 Ilustración 53 Administrador OBDC Sistema Operativo. Fuente propia. ............................... 90

Ilustración 54 Data Source Name - OBDC HIVE. Fuente propia ........................................... 91 Ilustración 55 Creación DSN de usuario HIVE. Fuente propia. .............................................. 91

Ilustración 56 Selección Controlador OBDC HIVE. Fuente propia. ....................................... 91 Ilustración 57 Configuración DNS HIVE. Fuente propia. ....................................................... 92 Ilustración 58 Test de conexión OBDC HIVE. Fuente propia. ................................................ 93

Ilustración 59 Función de conexión OBDC PHP - HIVE. Fuente propia. ............................... 93 Ilustración 60 Ejecución de Consultas hiveSQL desde Beeline. Fuente propia. ..................... 94

Ilustración 61 Ejecución consulta hiveSQL - administración HUE. Fuente propia. ............... 95 Ilustración 62 Resultado consulta hiveSQL - administración HUE. Fuente propia. ............... 95 Ilustración 63 Grafico de Barras, consulta hiveSQL. Fuente propia. ...................................... 96

Ilustración 64 Gráfico de Barras, consulta hiveSQL. Fuente propia. ...................................... 96

Ilustración 65 Grafico de Geolocalización. HUE. Fuente propia ............................................ 97 Ilustración 66 Consulta cantidad de procesos por entidad 2019 - HUE. Fuente propia .......... 97 Ilustración 67 Entidades con más procesos registrados 2019 - HUE. Fuente propia............... 98

Ilustración 68 Gráfico de Barras, cantidad procesos SECOP 2019. Fuente propia. ................ 98 Ilustración 69 Opciones de descarga de información. HUE. Fuente propia ............................ 99

Page 7: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

vi

Lista de tablas

Tabla 1 Factibilidad Económica del proyecto. Fuente: propia................................................. 26 Tabla 2 Procesos activos Nodo Maestro - HIVE. Fuente: propia. ........................................... 53 Tabla 3 Tipos de datos HIVE. Fuente: propia. ......................................................................... 72

Tabla 4 Puertos servicios de Hadoop. Fuente: Propia. ............................................................. 81

Page 8: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

1

Resumen

En este documento se presenta la configuración, despliegue y pruebas de un modelo para la

analítica de datos usando Big Data con el objetivo de gestionar la información de los procesos

licitatorios de Colombia, pero también para que sea aplicable a otros sectores o modelos de

negocio.

Por medio del uso de herramientas de software libre, se plantea una solución Apache Hadoop,

con la cual se almacena y manipula la información obtenida, garantizando tanto la redundancia de

datos como el cumplimiento de los procesos de cada tarea generada y a su vez un mejor uso de los

recursos disponibles del Cluster. Adicionalmente, se presenta el detalle de cada uno de los

elementos que conforman este modelo, con el fin de comprender su funcionamiento, importancia

e integración con diferentes herramientas. Finalmente, se cuenta con un apartado de

implementación y pruebas del modelo, lo que permitirá iniciar con el paradigma de un sistema

distribuido, bajo lo que es el concepto de Big Data, en cualquier organización dispuesta a invertir

recursos en ello.

La metodología que se trabaja es el ciclo Deming, organizado en los capítulos desarrollados en

el documento comenzando con el análisis del panorama actual de las licitaciones para proseguir

con la identificación y configuración de herramientas útiles para el desarrollo del modelo y con

esto finalizar con los resultados al aplicar analítica de datos.

Page 9: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

2

Abstrac

This document show the configuration and test of a model for Data Analytics - Big Data - with

the goal of manage the information of the bidding processes in Colombia but also for anothers

kinds of sector or business logic.

Through the use of free software tools, an Apache Hadoop solution is proposed, with which the

information obstaneid is stored and manipulated, guaranteeing both the redundancy of data and

the compliance of the processes of each task generated and at the same time a better use of the

available resources of the Cluster. Additionally, the detail of each of the elements that make up

this model is presented, in order to understand its operation, importance and integration with

different tools. Finally, there is a section on implementation and testing of the model, which will

start with the paradigm of a distributed system, under what is the concept of Big Data, in any

organization willing to invest resources in it.

The methodology used is the Deming Cycle, organized in the chapters developed in the

document beginning with the analysis of the current landscape of the bids to proceed with the

identification and configuration of useful tools for the development of the model and with this end

with a sample of data analytics.

Page 10: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

3

Introducción

Hoy en día con el paso a la información en digital se tiene una gran cantidad de datos que, en

su estado natural y sin ser procesados, no aportan algo significativo a la hora de tomar las

decisiones. Para sacar provecho de esta situación surge la Analítica de datos o Big Data, la cual se

enfoca en el tratamiento de grandes volúmenes de información a partir del uso de técnicas y

herramientas, basadas en la estadística.

En Colombia, la entidad encarga de gestionar los procesos licitatorios públicos, a partir del año

2011, es conocida como Colombia Compra Eficiente. Esta pone a disposición de las empresas, y/o

personas interesadas en participar en las diferentes convocatorias para la celebración de contratos,

un sistema de información que busca optimizar la oferta y demanda en el mercado de compra

pública.

A causa del gran flujo de información que se presenta en cada uno de los procesos licitatorios

se presentan inconvenientes de rendimiento y de accesibilidad a los recursos lo cual impide a

algunas empresas presentar su convocatoria.

En el presente documento se realizará un análisis en detalle del proceso de gestión de las

licitaciones en las plataformas del SECOP I (Sistema Electrónico para la Contratación Pública) y

SECOP II de Colombia Compra Eficiente, identificando las posibles fuentes de datos para

posteriormente, con la elaboración de un modelo de referencia enfocado al tratamiento y gestión

de datos con Big Data, se tenga una base con la cual se pueda mejorar el sistema y sacarle provecho

a toda la información relacionada con este.

Page 11: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

4

1. FASE DE DEFINICIÓN PLANEACIÓN Y ORGANIZACIÓN

1.1. Modelo de referencia para la gestión de procesos licitatorios en Colombia usando

analítica de datos

1.2. Planteamiento del problema

En los procesos de contratación pública y privada de Colombia se establecen una serie

de requerimientos, los cuales deben ser cumplidos por las partes interesadas en la participación de

estos, generando datos como los relacionados con los asuntos legales, tiempos establecidos para

el desarrollo del proyecto, presupuestos, perfiles profesionales, datos personales de cada uno de

los compradores y proveedores, descripciones de ofertas, datos no estructurados como adjuntos,

entre otros. Todo esto genera grandes volúmenes de información en cada una de las licitaciones

publicadas a diario que finalmente resultan en algo complejo de controlar.

Durante los últimos años, en donde se ha dado paso a la digitalización, en la mayoría de los

sectores productivos, las empresas Colombianas que han estado interesadas en participar de

los procesos de contratación no logran tener acceso fácil a las diversas convocatorias, ya sea

por la falta de entendimiento de las herramientas tecnológicas disponibles para la búsqueda y

presentación de sus propuestas, o que a pesar de que pueden llegar a cumplir el

perfil solicitado para aplicar no lo consiguen por la falta de transparencia en la

publicación y el manejo de estos contratos.

Page 12: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

5

Por todo esto, se identifica la necesidad de un cambio de paradigma en la forma en que se está

gestionando los procesos licitatorios, a fin de facilitar, mejorar y garantizar la competitividad

empresarial en aras de asegurar la calidad en la provisión de los bienes, obras y servicios.

1.2.1. Formulación del problema.

En Colombia se ha prestado importancia al manejo de la información en digital, por esto se han

promovido proyectos relacionados con la Analítica de Datos (Big Data) y, además, cabe

mencionar que es uno de los primeros países de América Latina en adoptar una política nacional

para la explotación de los datos. Por lo tanto, ¿En la actualidad Colombiana es posible diseñar un

modelo para gestión de los procesos licitatorios mediante técnicas adecuadas e identificación de

las herramientas para aplicar analítica de datos?

1.3. Objetivos

1.3.1. Objetivo general.

Desarrollar un modelo de referencia para la gestión de los procesos licitatorios en Colombia,

utilizando analítica de datos (Big Data).

1.3.2. Objetivos específicos.

*Analizar la forma en que se gestiona actualmente los procesos licitatorios para determinar un

plan de acción según el ciclo Deming.

Page 13: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

6

*Identificar las herramientas tecnológicas y las fuentes datos más adecuadas para el desarrollo

del modelo.

*Diseñar el modelo para la gestión de los procesos licitatorios con base en las técnicas

disponibles para usar analítica de datos.

*Documentar los resultados obtenidos luego de realizar las pruebas del modelo e interpretarlos

para identificar oportunidades de mejora.

1.4. Alcances y delimitaciones

1.4.1. Alcance.

El proyecto se realiza para plantear un modelo de referencia de Big Data que permita gestionar

las licitaciones de Colombia apoyándose en la analítica de datos. Se muestra la configuración y

uso de las diferentes herramientas disponibles para trabajar con grandes y/o variados volúmenes

de datos, añadiendo el análisis de los resultados obtenidos.

1.4.2. Delimitaciones.

Delimitación temática:

Se procede a capturar los datos públicos de los procesos de licitaciones del SECOP mediante la

técnica de Web Scraping, razón por la cual lo se puede contar con gran cantidad de datos de los

procesos licitatorios.

Page 14: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

7

Para el despliegue en un ambiente de desarrollo se dispone de tres equipos portátiles, en los

cuales se instala y configuran los clientes y programas necesarios para la ejecución de una

simulación a pequeña escala de lo que es Big Data.

El proyecto tiene énfasis en brindar una aproximación de lo que significa trabajar con un modelo

de Big Data, considerando cada uno de los factores claves como lo son los datos, procesos y

análisis de datos.

Delimitación Temporal. El proyecto se realiza en el transcurso de un (1) semestre, el cual

transcurre desde marzo hasta agosto del año 2019

Delimitación Geográfica. Por medio de la plataforma del SECOP se capturan datos de los

procesos de diferentes partes de Colombia, el área geográfica para el desarrollo del proyecto es la

ciudad de Bogotá en la Universidad Distrital Francisco José de Caldas en la Facultad Tecnológica.

1.5. Justificaciones

En el mercado laboral cualquier oportunidad de obtener un contrato rentable entre contratista y

contratante es de vital importancia. Con la creación de Colombia Compra Eficiente por parte del

Gobierno de Colombia se abrió la posibilidad de contar con un ambiente tecnológico para la

gestión de los procesos licitaciones y su publicación.

Con el avance de la tecnológica, de una manera acelerada, surge la necesidad de establecer

nuevas técnicas y modelos para el tratamiento y la presentación de los datos, considerando tanto

el volumen, variedad, velocidad, veracidad y valor de estas estructuras de datos. Es aquí donde

Page 15: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

8

Big data se presenta como la solución y enfoque en cada uno de los aspectos mencionados

anteriormente.

Conocer las bases para el desarrollo de grandes modelos de analítica de datos es primordial y

ayudará a comprender de mejor manera como abarcar diferentes situaciones. Es por ello que a

través de este estudio se pretende plantear un modelo de referencia para la gestión de datos y

presentar las herramientas actuales con las que se cuenta para estos casos.

1.6. Marco de referencia

1.6.1. Estado del arte.

En los últimos años se ha dado una revolución digital que ha generado una serie de problemas

y oportunidades en muchos sectores. El tratamiento de la información, como uno de los activos

más importantes para las empresas, es una necesidad y un reto que se debe asumir y para esto

existen métodos como la analítica de datos con Big Data donde se logra identificar patrones de

grandes cúmulos de datos en cuestión de segundos.

Por ello, como lo afirman los estudiantes de la Universidad Distrital Reyes y Salinas (2016,

p.66-76), en la tesis “Análisis de la viabilidad de la implementación de redes Big Data en

Colombia”1, cuando se implementa un proyecto de Big Data influye mucho el “¿Qué se quiere

hacer?” para así poder determinar el costo de este. A su vez, es viable el uso de un compendio de

1 Reíta Reyes, J. E. y Salinas Hernandez, H. J. (2016). Análisis de la viabilidad de la implementación de redes Big

Data en Colombia (Tesis de pregrado). Recuperado de http://repository.udistrital.edu.co/bitstream/11349/4018/1/Big-

data-FINAL-SI-1-1%20%281%29.pdf

Page 16: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

9

tecnologías, como lo es toda la familia del Framework Apache Hadoop la cual permite trabajar

con el concepto de computación distribuida de una forma rápida y dinámica. Cabe resaltar que,

por recomendación del resultado del análisis de viabilidad, lo más óptimo es que se trabaje en la

nube la implementación de cualquier modelo de Big Data ya que la relación costo beneficio es

mejor al no tener la necesidad de contar con una infraestructura física robusta para la

implementación del modelo.

Así mismo, como propone el programa de transformación productiva (PTP, 2018) surge la

necesidad de implementar soluciones de Big Data en cualquier ámbito empresarial2, por lo que

existen entidades interesadas en capacitar a los trabajadores de empresas BPO (Business Process

Outsourcing), KPO (Knowledge Process Outsourcing) e ITO (Information Technology

Outsourcing) en el análisis y visualización de datos, con el fin de promover el desarrollo de

soluciones basadas en Big Data o Data Analytics para mejorar los procesos y rentabilidad de sus

compañías. Las empresas, reciben diagnóstico del uso y apropiación de tecnologías y herramientas

basadas en Data Analytics, Big Data o internet de las cosas por lo que se resalta la importancia de

contar con expertos para comenzar a desarrollar una solución de computación distribuida que

genere valor.

2 Programa de transformación productiva. Formación en BigData. Recuperado de https://www.ptp.com.co/ptp-

servicios/ptp-convocatorias/para-empresas/ptp-busca-60-personas-del-sector-bpo-software-y-ti

Page 17: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

10

Finalmente, con referentes como la herramienta europea Digiwhist3, la cual a inicios del año

2018 se dio a conocer en los medios de comunicación como la revista La Vanguardia (2018), es

posible observar las grandes ventajas que tiene la aplicación de Big Data en ámbitos del Gobierno.

Este proyecto europeo de Big data, tiene como objetivo el control de los contratos público, como

lo menciona La Vanguardia: “Seis organizaciones europeas, lideradas por la Universidad de

Cambridge, han diseñado Digiwhist, un programa que almacena los datos de los contratos públicos

de la Unión Europea y analiza los indicadores de riesgo potencial de corrupción.” Digiwhist es

una herramienta, compleja, que realiza procesamiento de indicadores y datos apoyándose del

conocimiento de las entidades reguladoras. Se presta suma importancia a la toma de la muestra,

indicando que se tomaron las contrataciones públicas de 35 jurisdicciones, para obtener un mejor

análisis y evaluación de los indicadores de riesgos de corrupción.

1.7. Marco teórico

1.7.1. Big data.Según Gartnet (s.f.) Big data es un gran volumen, alta velocidad y / o gran

variedad de activos de información que demandan formas rentables e innovadoras de

procesamiento de la información que permiten un mejor conocimiento, toma de decisiones y

automatización de procesos.4

Actualmente se puede identificar “cinco V”, que no son más que desafíos de la Big Data:

3 La Vanguardia. (2018) Un proyecto europeo de big data servirá para controlar los contratos públicos. Recuperado

de https://www.lavanguardia.com/vida/20180119/44120927162/un-proyecto-europeo-de-big-data-servira-para-

controlar-los-contratos-publicos.html

4 Gartnet. (s.f.). Big Data. Recuperado de https://www.gartner.com/it-glossary/big-data

Page 18: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

11

Volumen: una característica física, pero el modelado conceptual puede organizar,

identificar y describir datos importantes y metadatos.

Velocidad: los datos deben filtrarse, pero el modelado conceptual puede ayudar a extraer

datos importantes.

Variedad: la modelización conceptual puede modelar la variedad, las jerarquías y las redes

de datos, integrar los datos y abordar el resultando en problemas de almacenamiento de

datos grandes.

Veracidad: el modelado conceptual puede verificar la calidad, la integridad y la

coherencia.

Valor: los modelos conceptuales pueden gestionar proyectos de Big Data, incluido el

análisis de ellos para extraer valor y evaluar los resultados.

1.7.2. Funcionamiento.Según Oracle (s.f.) las acciones clave, para el funcionamiento, de

Big data son:

Integrar

El big data concentra datos de numerosas fuentes y aplicaciones distintas. Los mecanismos de

integración de datos convencionales, tales como ETL (extract, transform, load [extraer,

transformar, cargar]), generalmente no están a la altura en dicha tarea. Analizar conjuntos de big

data de uno o más terabytes, o incluso petabytes, de tamaño requiere de nuevas estrategias y

tecnologías.

Durante la integración, es necesario incorporar los datos, procesarlos y asegurarse de que estén

formateados y disponibles de tal forma que los analistas empresariales puedan empezar a

utilizarlos.

Page 19: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

12

Gestionar

El big data requiere almacenamiento. Su solución de almacenamiento puede residir en la nube,

on premise o ambas. Puede almacenar sus datos de cualquier forma que desee e incorporar los

requisitos de procesamiento de su preferencia y los motores de procesamiento necesarios a dichos

conjuntos de datos on-demand. Muchas personas eligen su solución de almacenamiento en función

de dónde residan sus datos en cada momento. La nube está aumentando progresivamente su

popularidad porque es compatible con sus requisitos tecnológicos actuales y porque le permite

incorporar recursos a medida que los necesita.

Analizar

La inversión en big data se rentabiliza en cuanto se analizan y utilizan los datos. Adquiera una

nueva claridad con un análisis visual de sus diversos conjuntos de datos. Continúe explorando los

datos para realizar nuevos descubrimientos. Comparta sus hallazgos con otras personas. Construya

modelos de datos con aprendizaje automático e inteligencia artificial. Ponga sus datos a trabajar.

1.7.3. Big data en Colombia5.

Según (KienyKe, 2017) entre las profesiones que son más solicitadas se encuentran los analistas

de datos. En la situación actual de Colombia se observa un déficit de profesionales de TI,

5KienyKe (2017). Analítica de datos ¿qué es y cómo vamos en el tema de Colombia? KienyKe Tecnología.

Recuperado de https://www.kienyke.com/tendencias/tecnologia/analitica-de-datos-que-es-y-como-vamos-en-el-

tema-de-colombia

Page 20: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

13

estimando que en este sector se ofrece 70.318 puestos de trabajo, pero por año en el país se gradúan

menos de 6.000 ingenieros.

Sabiendo que todo lo relacionado con Big Data es una oportunidad de crecer en diferentes

sectores, la entidad MINTIC creó en el año 2015 el Centro de Excelencia y Apropiación en Big

Data y Big Data Analytics (CEA), enfocado a la investigación, además, puso en marcha proyectos

como “Introducción al Pensamiento Computacional en colegios de Colombia” para promover el

aprendizaje y la formación de habilidades en este tema.

1.7.4. Política nacional de explotación de datos6.

En Colombia, desde 1997 se reconoce la eficiencia de las TIC par la administración pública y

facilitan la provisión de servicios gubernamentales. Este cambio de paradigma da lugar al concepto

de Gobierno Electrónico como aquella estrategia que emplea las TIC para beneficios sociales.

Desde el Ministerio de Tecnologías de la Información y las Comunicaciones (MINTIC) se

promueve el uso de la analítica de datos, Big Data, para el aprovechamiento de ese gran cumulo

de información para mejorar la toma de decisiones.

El Gobierno Nacional aprobó el CONPES 3920, elaborado por el Consejo Nacional de Política

Económica y Social (CONPES, 2018) el cual define la Política nacional de explotación de datos,

con los objetivos de que a 2022 Colombia pase de 51 % de promedio de activos públicos

digitalizados y publicados que se tenía en 2017 al 100 %; impulsar el porcentaje de entidades que

6Consejo Nacional De Política Económica Y Social. (2018) POLÍTICA NACIONAL DE EXPLOTACIÓN DE

DATOS (BIG DATA). Recuperado de https://colaboracion.dnp.gov.co/CDT/Conpes/Econ%C3%B3micos/3920.pdf

Page 21: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

14

tienen al menos un proyecto de aprovechamiento de datos, que en 2017 era el 9,3 % y que para

dentro de cuatro años se espera que sea 90 %; y lograr que por lo menos el 50 % de las entidades

públicas desarrollen proyectos de aprovechamiento de datos para mejorar los servicios prestados

a la ciudadanía.

1.7.5. Fases del análisis.7

Como afirma Glez (2014) existen tres fases del análisis de los datos:

Primera Fase, Analítica Horizontal:

Es aquella que se centra en representaciones visuales de los datos que permitan obtener una

impresión general sobre nuestros activos de forma sencilla e inmediata. Estas representaciones

gráficas se han de corresponder con un KPI que esté alineado con nuestros objetivos de negocio y

en el cual es común el uso de diferentes pictogramas, sencillas líneas de tendencia y adicionalmente

algún valor porcentual o indicador a medida, que conjuntamente permitan visualizar de forma

sintética los indicadores y valores que alimentan dicho KPI.

Segunda Fase, Analítica Vertical:

Comienza por profundizar o sumergirse dentro de los indicadores que hayamos seleccionado.

Requiere dejar por un momento la representación gráfica y bucear por las diferentes tablas de datos

7 Glez J. M. (2014). Introducción a la Analítica de Datos (I). Recuperado de

https://www.analiticaweb.es/introduccion-a-la-analitica-de-datos-i/

Page 22: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

15

que alimentan nuestros KPI’s. La imagen de un iceberg es muy gráfica para describir este proceso.

Mediante la Analítica Horizontal vemos la punta del iceberg, pero solo sumergiéndonos en la

Analítica Vertical podremos comprender la totalidad del mismo.

Tercera Fase, Analítica Diagonal:

Análisis de los datos en mayor profundidad, usualmente apoyados en métodos estadísticos más

avanzados. El uso del término diagonal toma su sentido en este contexto, cuando en el análisis que

realizamos recorremos diferentes indicadores, tablas y KPI’s para analizar la relación o

dependencia que pueda existir entre ellos; pasamos por tanto de un análisis global pero de

superficie (Analítica Horizontal) y de un análisis de profundidad pero centrado en uno o pocos

indicadores (Analítica Vertical) a un análisis global y de profundidad (usamos el término global

por cuanto que aplica a todos aquellos indicadores que consideramos puedan tener influencia en

el comportamiento de la situación que queremos analizar) que involucra a varios o muchos

conjuntos de datos de los cuales queremos analizar y comprender sus dependencias, su

comportamiento actual, su posible evolución, etc.

1.7.6. Tipos de Analítica de datos.8

Según Bertolucci (2013) es importante entender que la mayoría de los datos sin procesar, en

particular la Big data, no tienen un valor significativo. Es por esto que es necesario aplicar un

conjunto de herramientas y técnicas para obtener información valiosa.

8 Bertolucci. J. (2013). Big Data Analytics: Descriptive Vs. Predictive Vs. Prescriptive. Recuperado de

https://www.informationweek.com/big-data/big-data-analytics/big-data-analytics-descriptive-vs-predictive-vs-

prescriptive/d/d-id/1113279

Page 23: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

16

Lo primero a realizar, en cualquier modelo de Big data, es la recolección de grandes volúmenes

de información los cuales serán analizados para encontrar patrones y más adelante lograr una

predicción en base a estos.

Primer paso: analítica Big Data descriptiva

Es el análisis más básico, ocasionando que sea el más común de usar. Permite una reducción de

los datos en pequeños fragmentos más manejables y concisos para analizar. En si se trata de un

resumen.

Segundo paso: analítica Big Data predictiva

Después de la aplicación de técnicas estadísticas, de modelado, de minería de datos y de

aprendizaje automático para estudiar datos recientes e históricos, otorga predicciones sobre el

futuro, pero cabe aclarar que no son exactas, lo que permite es el planteamiento de un escenario

posible.

Su naturaleza es probabilística.

Tercer paso: analítica Big Data prescriptiva

Es, en cierta parte, un análisis predictivo diferenciándose en que se predicen futuros múltiples

basados en las acciones del responsable de la toma de decisiones. Necesita de un modelo predictivo

con dos componentes adicionales: datos procesables y un sistema de retroalimentación que hace

un seguimiento de los resultados.

Page 24: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

17

1.7.7. Web Scraping9.

Como afirma Escuela de Datos (2016) el Web Scraping es una técnica utilizada para extraer

datos de sitios web. Es un proceso automatizado donde una aplicación procesa el HTML de una

página web para extraer datos para su manipulación, como convertir la página web a otro formato

y copiarla en una base de datos local u hoja de cálculo para su posterior recuperación o análisis.

1.7.8. Licitación.

El concepto de licitación pública va ligada al procedimiento administrativo por el cual un

organismo público o privado requiere obras, servicios o adquisión de algún producto, el ejercicio

consiste en sujetarse a las bases de realización del contrato, fijadas en el pliego de condiciones. El

oferente es el encargado de formular propuestas de entre las cuales seleccionara la más

conveniente.

1.7.9. Proceso licitatorio en Colombia10.

Colombia compra eficiente (2018) afirma que esta plataforma pone al servicio de los

compradores y proveedores realizar el proceso de contratación en línea haciendo uso de las

herramientas (SECOP I, SECOP II), donde se garantiza la transparencia y la trazabilidad de los

procesos de contratación

¿QUÉ ES EL SECOP II?

9 Escuela de datos. (2016). Introducción a la extracción de datos de sitios web: scraping. Recuperado de

https://es.schoolofdata.org/introduccion-a-la-extraccion-de-datos-de-sitios-web-scraping/ 10 Colombia compra eficiente. SECOP. Recuperado de https://www.colombiacompra.gov.co/

Page 25: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

18

El SECOP II funciona como una plataforma transaccional con cuentas para las Entidades

Estatales y los Proveedores. Cada cuenta tiene unos usuarios asociados a ella. Desde sus cuentas

las Entidades Estatales crean, evalúan y adjudican Procesos de Contratación. Los Proveedores

pueden hacer comentarios a los Documentos del Proceso, presentar ofertas y seguir el proceso de

selección en línea.

Se crea un expediente digital para los proveedores registrados en el SECOP, donde se tiene

aquellos documentos relacionados al proceso de contratación.

Proceso de licitación pública actual:

Estudio sobre oportunidad o conveniencia del contrato

Publicación de avisos. Dentro de los 10 y 20 días anteriores a la apertura.

Elaboración del Pliego de Condiciones

o Objeto

o Regulación jurídica

o Derechos u obligaciones de las partes

o Otros factores de evaluación. Claridad

Apertura de la Licitación o concurso

Audiencia de aclaraciones 3 días después del inicio del plazo de presentación de propuestas

Evaluación y resolución de preguntas.

Adjudicación

Proceso de licitación privada actual:

Estudio sobre oportunidad o conveniencia del contrato

Page 26: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

19

Invitación de forma expresa a determinadas empresas y no por anuncio público

Elaboración del Pliego de Condiciones

o Objeto

o Regulación jurídica

o Derechos u obligaciones de las partes

o Otros factores de evaluación. Claridad

Apertura de la Licitación

Audiencia de aclaraciones 3 días después del inicio del plazo de presentación de propuestas

Evaluación y resolución de preguntas.

Adjudicación

1.7.10. Hadoop.

Como definen Reíta Reyes, J. E. y Salinas Hernández, H. J. (2016), Hadoop “es una

infraestructura digital con licencia apache creada bajo código abierto que permite la programación

utilizando java, el propósito de esta tecnología es generar un motor de búsqueda potente y eficaz

haciendo uso de tecnologías inspiradas en google. La importancia de esta estructura radica en que

permite el paralelismo en sus procesos segmentando la información y dividiéndola en n equipos

de cómputo permitiendo así el análisis de Petabytes de datos. De este modo siendo Hadoop uno de

los hilos de Big data es conveniente enunciar de manera detallada su funcionamiento, dicho lo

anterior Hadoop se segmenta en tres partes principales:

Hadoop Distributed File System: Es un sistema distribuido de archivos que provee un acceso

de alto rendimiento a los datos de la aplicación.

Hadoop YARN: Es un Framework para programar tareas y gestionar los recursos del Clúster.

Page 27: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

20

Hadoop MapReduce: Es un sistema basado en YARN para procesamiento en paralelo de

grandes conjuntos de datos.

Hadoop Common: Son las utilidades comunes que soportan a los demás módulos Hadoop”

1.7.11. HBase11.

Según Amazon (s.f.) es un almacén de big data distribuida y escalable de forma masiva del

ecosistema de Apache Hadoop. Es una base de datos de código abierto no relacional, está diseñada

para brindar acceso en tiempo real aleatorio y estrictamente uniforme a tablas con miles de

millones de filas y millones de columnas

HBase es un modelo de datos que es similar a Google la gran tabla diseñada para permitir el

rápido acceso aleatorio a enormes cantidades de datos estructurados. Aprovecha la tolerancia a

errores de sistema de archivos de Hadoop (HDFS).

Es una parte del ecosistema Hadoop que proporciona al azar tiempo real acceso de

lectura/escritura a los datos de la Hadoop Sistema de archivos.

Uno puede almacenar los datos de los HDFS, bien directamente o a través HBase. Consumidor

de datos lee y tiene acceso a los datos en forma aleatoria usando HBase HDFS

11 Amazon (s.f.). Apache HBase en Amazon EMR. Recuperado de https://aws.amazon.com/es/emr/details/hbase/

Page 28: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

21

1.7.12. Selenium 12.

Como definen Vidal, Palacios y Zambrano. (2013):

Selenium IDE

“Es un entorno de pruebas para aplicaciones basadas en web, Provee herramientas para crear

pruebas sin usar un lenguaje, el uso de este no solo está en automatización de pruebas, ya que usual

mente se puede utilizar para realizar minería de datos, Monitoreo de páginas web con el fin de

detectar cambios, Investigación, o búsqueda de información específica en portales web, entre

otros”

Selenium WebDriver

“Es un entorno de automatización de pruebas que opera a partir de los lenguajes de

programación mencionados en la definición de Selenium. La principal contribución de WebDriver

son los controladores nativos que dan soporte a distintos navegadores (Internet Explorer,

Mozilla Firefox, Google Chrome, Opera y Safari). Debido a que Selenium tiene las

restricciones propias de Javascript (lenguaje con el que está hecho), WebDriver va más allá y

dependiendo del navegador que queramos probar utiliza el mecanismo más apropiado, por

ejemplo en Mozilla Firefox se implementa como una extensión, para Internet Explorer hace

uso de los objetos propios de automatización. Incluso puede hacer uso de las características de los

12Vidal, Palacios y Zambrano. (2013). SELENIUM MANUAL DE INSTALACIÓN Y USO. Recuperado de

https://campusvirtual.univalle.edu.co/moodle/pluginfile.php/486657/mod_folder/content/0/ManualSelenium.pdf?for

cedownload=1

Page 29: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

22

navegadores desde el punto de vista del sistema operativo. Gracias a WebDriver ya no es necesario

de un navegador web real para lanzar los test sino que utiliza una aplicación basada en HtmlUnit

para simular el navegador.”

1.7.13. ElasticSearch13.

Según el Instituto de Ingeniería del Conocimiento (IIC, 2016) es una potente herramienta para

la búsqueda entre grandes cantidades de datos, especialmente cuando los datos son de tipo

complejo, es un servidor de búsqueda basado en Lucene. Es distribuido y con capacidad de multi-

tenencia con una interfaz web RESTful, Esta solución se convierte en una excelente solución para

el campo de big data y analítica.

Se utiliza para búsqueda web, análisis de registros y análisis de Big Data. ElasticSearch es la

herramienta más popular porque es fácil de instalar, se amplía a cientos de nodos sin software

adicional, y es fácil de usar debido a su API REST incorporada. A continuación, se encuentra el

resumen de los beneficios clave;

API amigable para desarrolladores.

Análisis en tiempo real.

Facilidad de indexación.

Búsqueda de texto completo.

Grupos resilientes.

13 Instituto de Ingeniería del Conocimiento (IIC, 2016). 7 Herramientas Big Data para tu empresa. Recuperado de

http://www.iic.uam.es/innovacion/herramientas-big-data-para-empresa/

Page 30: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

23

1.8. Ciclo Deming14

Como afirma Ana Rojo (2013) las fases del Círculo PDCA o Ciclo de Deming, son: Planificar,

Hacer, Verificar y Actuar.

Ilustración 1 Fases del ciclo Deming. Fuente: Rojo (2018)

Como se observa en la ilustración 1, la teoría se representa de forma habitual por un círculo que

representa la evolución continua del ciclo de Deming. El círculo o la rueda siempre debe estar en

movimiento y cada uno de los pasos alimenta el siguiente, de forma que cada vez sea más sencillo

avanzar y más natural.

14 Rojo, A. El ciclo de Deming o círculo PDCA. Recuperado de https://www.sbqconsultores.es/el-ciclo-de-

deming-o-circulo-pdca/

Page 31: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

24

Las fases o acciones son las siguientes:

Planificar (Plan): en esta etapa se planifica los cambios y lo que se pretende alcanzar. Es

el momento de establecer una estrategia en el papel, de valorar los pasos a seguir y de

planificar lo que se debe utilizar para conseguir los fines que se estipulan en este punto.

Hacer (Do): aquí se lleva a cabo lo planeado. Siguiendo lo estipulado en el punto anterior,

se procede a seguir los pasos indicados en el mismo orden y proporción en el que se

encuentran indicados en la fase de planificación.

Verificar (Check): en este paso se debe verificar que se ha actuado de acuerdo a lo

planeado, así como que los efectos del plan son los correctos y se corresponden a lo que

inicialmente se diseñó.

Actuar (Act): a partir de los resultados conseguidos en la fase anterior se procede a

recopilar lo aprendido y a ponerlo en marcha. También suelen aparecer recomendaciones

y observaciones que suelen servir para volver al paso inicial de Planificar y así el círculo

nunca dejará de fluir.

1.9. Factibilidad

1.9.1. Factibilidad operativa.

Este proyecto es factible operativamente ya que se cuenta con los recursos esenciales para el

desarrollo de un ambiente de pruebas que muestre de manera simple el funcionamiento de un

modelo de Big Data aplicado a un caso de uso, referente a la gestión de la información de los

procesos licitatorios en Colombia. El sistema será documentado en cada una de sus partes críticas

para facilitar el entendimiento de los diferentes procesos involucrados y que finalmente muestre

las ventajas de su implementación en un ambiente laboral o académico.

Page 32: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

25

1.9.2. Factibilidad técnica.

El proyecto es desarrollado por dos estudiantes de la Universidad Distrital de la Facultad

Tecnológica, los cuales poseen diferentes habilidades y conocimiento en el desarrollo de

programas informáticos que son de utilidad para cada una de las etapas del planteamiento del

modelo. En lo referente a las herramientas tecnológicas se dispone de equipos con diferentes

sistemas operativos tales como distribuciones Linux (Centos y Ubuntu Desktop), Windows y MAC

por lo que se pueden hacer diferentes pruebas de despliegue de los aplicativos en diversos

ambientes. Adicionalmente, la mayoría de los programas que se usan están bajo la licencia de

apache por lo cual se garantiza el acceso libre sin condiciones al ser herramientas Open Source.

1.9.3. Factibilidad económica.

Como se mencionó anteriormente, se cuenta con software libre el cual garantiza en parte la

factibilidad económica del proyecto. Cabe considerar que el activo más valioso será el tiempo de

cada uno de los ejecutores, de los cuales se estima que disponen de 14 horas a la semana, y los

recursos tecnológicos necesarios para el correcto funcionamiento del modelo. A continuación, se

presenta la relación del presupuesto.

Page 33: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

26

Tabla 1 Factibilidad Económica del proyecto. Fuente: propia.

1.9.4. Factibilidad Legal.

El proyecto es viable legalmente dado las condiciones expuestas por la licencia de Apache 2.0

para Herramientas libres y la ley 11723 de Colombia dedicada a el software libre.

Licencia Apache 2.0 – Software Libre15

“Concesión de la licencia de derechos de autor. Sujeto a los términos y condiciones de esta

Licencia, cada Contribuidor por este medio se le otorga una licencia de derechos de autor perpetua,

mundial, no exclusiva, sin cargo, irrevocable e irrevocable para reproducir, preparar Trabajos

15 The Apache Foundation. Licencia Apache, Versión 2.0 (2019) Recuperado de

https://www.apache.org/licenses/LICENSE-2.0

Recurso Marzo Abril Mayo Junio Julio Agosto Costo X Mes Costo Total

Ingeniero

156 Horas 56 Horas 56 Horas 56 Horas 56 Horas 56 Horas 5’600.000 $33’600.000

Ingeniero

256 Horas 56 Horas 56 Horas 56 Horas 56 Horas 56 Horas 5’600.000 $33’600.000

Portátil - - - - - - - 2’000.000

Licencia

Servidores

Centos

- - - - - - - $0

Programas

Apache- - - - - - - $0

Internet

Total $11’290.000 $71’400.000

$90.000 $540.000Plan

proveedor™

Plan

proveedor

Plan

proveedor

Plan

proveedor

Plan

proveedor

Presupuesto Estimado

Portátil - - - - - - - $2’000.000

Page 34: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

27

Derivados de, exhibir públicamente, realizar públicamente, Haga sub licencia, y distribuya el

Trabajo y los Trabajos Derivados en forma de Fuente u Objeto.

Concesión de licencia de patente. Sujeto a los términos y condiciones de esta Licencia, cada

Contribuidor por este medio se le otorga una licencia de patente perpetua, no exclusiva, gratuita,

exenta de derechos, irrevocable para realizar, usar, ofrecer vender, vender, importar y, de lo

contrario, transferir el Trabajo, cuando dicha licencia se aplique solo a aquellas reclamaciones de

patentes que puedan ser otorgadas por dicho Contribuidor y que sean necesariamente infringidas

por su Contribución solo o por la combinación de su Contribución con la Obra a la que se sometió

dicha Contribución ...”

Referente a la ley de Software Libre en Colombia 11723, la cual está compuesta por 89

artículos, sancionada en 1933 (y todavía vigente), conocida como "Ley de Propiedad Intelectual"

o también como "Ley de Propiedad Científica, Literaria y Artística" se declara lo siguiente:

“El software libre —software de código fuente abierto— es aquel cuyo autor licencia otorgando

las siguientes libertades a sus usuarios:

1. La libertad de ejecutar el programa para cualquier propósito.

2. La libertad de estudiar la manera en que el programa opera y adaptarlo a sus necesidades

particulares.

3. La libertad para redistribuir copias del programa (incluido su código fuente) a quien desee.

4. La libertad de mejorar el programa y distribuir sus mejoras al público bajo las mismas

condiciones del programa original.

Page 35: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

28

Es importante resaltar que el software libre no atenta de ninguna manera contra los derechos de

autor y de propiedad intelectual: no tiene nada que ver con la piratería, en tanto que los autores

autorizan explícitamente a los demás a hacer uso de sus creaciones ofreciéndoles las libertades

anteriores.”16

16 Glosario-over-blog.es. Leyes sobre software Libre en Colombia (2010) Recuperado de http://glosario.over-

blog.es/article-leyes-sobre-software-libre-en-colombia-59255157.html

Page 36: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

29

2. ANÁLISIS DE LA SITUACIÓN ACTUAL

Este capítulo recopila el proceso de contratación pública en la actualidad, los portales y

herramientas que el gobierno bajo el decreto 4117 de 2011 ha puesto a disposición de la

ciudadanía, entre los cuales se encuentra el portal SECOP I y SECOP II, Adicional a ello se realiza

el primer análisis de la web, para identificar los tipos de datos, accesos necesarios y medios por

los cuales se puede realizar la minería de datos para el presente modelo.

2.1. Proceso actual de gestión de licitaciones en Colombia

El Gobierno de Colombia por medio del Decreto Ley 4170 de noviembre 3 de 2011 reconoce

la necesidad de tener una entidad que se encargue de la gestión y promoción de las licitaciones

públicas por lo cual decide crear Colombia Compra Eficiente.

Esta entidad pone a disposición de los colombianos un sistema de información que permita

generar transacciones en línea, con herramientas tecnológicas que responden las necesidades de

las Entidades Estatales, razón por la cual a través de los años ha estado innovando las plataformas

para que cada vez sea más fácil acceder a la información relacionada con las licitaciones.

Entre las plataformas que nacen de esta entidad, para la gestión de licitaciones, se encuentra el

Sistema Electrónico para la Contratación Pública o más conocido como SECOP.

Page 37: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

30

2.1.1. SECOP I.

Según Colombia Compra Eficiente (2019) el SECOP I es una “plataforma en la cual las

entidades que contratan con cargo a recursos públicos publican los Documentos del Proceso. El

SECOP I es una plataforma exclusivamente de publicidad”17. Como se puede observar en la

ilustración 218 el modulo del SECOP I permite realizar consultas para conocer los procesos de

contratación según su número de radicación o fecha de publicación (abiertas en los últimos siete

(7) días). También es posible descargar un histórico del plan de adquisiciones desde el año 2013

hasta la actualidad, lo que permitiría, por ejemplo, realizar un análisis y/o auditora del manejo de

los procesos licitatorios por cada entidad.

Ilustración 2 Colombia Compra Eficiente - Modulo Consulta SECOP I. Fuente: Colombia Compra Eficiente (2019)

17 Colombia Compra Eficiente. (2019). Recuperado de https://www.colombiacompra.gov.co/colombia-

compra/secop.

18 Colombia Compra Eficiente (2019). Recuperado de https://www.colombiacompra.gov.co/proveedores/consulte-

en-el-secop-i

Page 38: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

31

2.1.2. SECOP II.

Según Colombia Compra Eficiente (2019) el SECOP I es una “plataforma transaccional para

gestionar en línea todos los Procesos de Contratación, con cuentas para entidades y

proveedores; y vista pública para cualquier tercero interesado en hacer seguimiento a la

contratación pública.”19. Al igual que en el SECOP I, como lo muestra la Ilustración 320, esta

plataforma permite realizar búsquedas de procesos de contratación según los criterios definidos

por cada usuario.

Ilustración 3 Colombia Compra Eficiente - Modulo Consulta SECOP II. Fuente: Colombia Compra Eficiente (2019)

19 Colombia Compra Eficiente. (2019). Recuperado de https://www.colombiacompra.gov.co/colombia-

compra/secop.

20 Colombia Compra Eficiente (2019). Recuperado de https://www.colombiacompra.gov.co/secop/consulte-en-el-

secop-ii

Page 39: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

32

Diariamente se publican miles de procesos licitatorios los cuales poseen información tal como

la entidad estatal, descripción, fase actual, fechas de publicación, documentación en diferentes

formatos (PDF, EXCEL, MP3, AUTOCAD, PNG, TIFF, POWER POINT y ASF), información

presupuestal y muchas cosas más, por lo que el flujo de información crece exponencialmente.

Todos estos datos pueden llegar a ser enriquecedores para cualquier tipo de análisis, es por esto

que la Big Data entra como un gran protagónico y también como un punto de apoyo u opción para

la identificación de oportunidades de mejora.

2.2. Procedimiento para la captura de datos

Hablar de Big Data se entiende como grandes volúmenes de información, para el desarrollo del

siguiente modelo, se requiere hacer una aproximación a estas grandes cantidades de datos, por ello

es necesario hacer uso de herramientas, que permiten capturar los procesos de contratación de

portales de Licitación pública, para ello se realiza la minería de datos por medio de Web Scraping,

una vez identificada la información de interés, se procede a capturar el token o credencial de acceso

que provee el mismo portal. Por tal motivo se hace uso de la herramienta de automatización de

pruebas Selenium, para realizar por medio de Click Stream la obtención del mismo.

A continuación, se muestra la forma de ver dicho token.

2.2.1. Registro y obtención de Token.

Inicialmente es necesario estar registrado en SECOP este registro se puede realizar en la

siguiente dirección:

https://community.secop.gov.co/STS/Users/Login/Index

Page 40: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

33

Usuario: Luisk262

Contraseña: Secop2/CO2

Una vez en plataforma es necesario dirigirse al menú y buscar el botón “Buscar por proceso”

allí se encuentra la información de nuestro interés

Ilustración 4 Búsqueda de proceso SECOP. Fuente propia

Se debe analizar el funcionamiento de esta página para lo cual es necesario concentrarse en el

botón “ver más” el cual se debe inspeccionar con el navegador:

Ilustración 5 Botón "ver más" búsqueda procesos SECOP. Fuente propia

Page 41: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

34

Al analizar el botón se ve un token identificado con la variable mkey

Ilustración 6 Token botón búsqueda de procesos SECOP. Fuente propia

Para obtener esta variable se utiliza Selenium el cual simula la interacción de un usuario hasta

llegar a esta página, como lo se mostró anterior mente y saca este parámetro para luego ser

utilizado.

2.2.2. Simulación peticiones HTTP.

La segunda herramienta que se utiliza es una herramienta comúnmente conocida como

rastreador (Crawler) con ella se simula la petición que realiza el botón “ver más” anterior mente

mencionado.

Para realizar la petición se debe conocer el mKey, y asignar un startidx (Inicio de índice)

variable entera que identifica el inicio de un segmento de la base de datos y un endidx (final de

índice) variable entera que identifica el fin del segmento de la base de datos, para realizar una

prueba inicial, he identificar si los valores enviados son correctos se puede hacer uso de una

herramienta que permite realizar envió de peticiones HTTP REST como Postman.

Ilustración 7 Solicitud POST con mKey botón procesos SECOP. Fuente propia

Page 42: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

35

Ilustración 8 Solicitud POST índices y número de página botón procesos SECOP. Fuente propia

Si él envió es el adecuado y con status 200, Postman debe retornar el contenido en formato

HTML de 5 procesos de contratación como se muestra a continuación

Ilustración 9 Respuesta HTTP POSTMAN búsqueda de procesos SECOP. Fuente Propia

Una vez probado se procede a realizar el mismo proceso a través de Crawler el cual debe

retornar el mismo resultado.

Page 43: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

36

En síntesis, las plataformas que dispone Colombia Compra Eficiente para la publicación y

gestión de las licitaciones, es un buen punto de partida para obtener datos que sean útiles en las

pruebas del modelo. Así mismo, gracias a las técnicas de análisis Web con herramientas como

Selenium, se abre la posibilidad de contar con información de los procesos como lo es el nombre

de la entidad estatal solicitante, descripción de la licitación, fase actual, fechas de publicación,

entre otros, para finalmente con toda esta data que se capture de las herramientas de gestión

SECOP I y SECOP II sea tratada en un modelo Hadoop Big Data para posteriormente obtener

resultados a partir de un análisis de la información recolectada.

Page 44: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

37

3. IDENTIFICACIÓN Y CONFIGURACIÓN DE HERRAMIENTAS

TECNOLÓGICAS BIG DATA

En este capítulo se definen algunos productos que podemos utilizar en Big data, como lo son

Apache Hadoop, Apache Hive, Cloudera Hue, adicional a ello se muestra el paso a paso para la

configuración de apache Hadoop, con sus respectivos nodos que conforman en última instancia el

Cluster.

Así mismo se introducirá la función de los elementos que conforman el modelo iniciando con

HDFS, encargado del almacenamiento de ficheros de forma distribuida; YARN, encargado de

gestionar los recursos del Clúster cuya configuración encontrara en el presente capitulo y Hive

como último elemento, el cual permite trabajar con el Clúster como si se trabajara con una base de

datos SQL.

Ilustración 10 Estructura Clúster Hadoop – Licitaciones. Fuente propia

Page 45: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

38

3.1. Identificación de herramientas para trabajar con Big Data

Según Cloudera (2019), Big data incluye muchos productos asociados, en su mayoría del

proyecto Apache, que facilitan la configuración y gestión de los diferentes elementos de un sistema

tipo Cluster.21

Soluciones como Hortonworks, permiten la descarga de productos, como por ejemplo

Hortonworks Sandox, las cuales traen montado un entorno para trabajar con Hadoop con una

configuración inicial avanzada, algunas son open source bajo los términos y condiciones de la

compañía.

Como se encuentra en la documentación de Hortonworks SandBox22, esta solución incluye:

Apache Hadoop: Es un entorno distribuido de Datos y Procesos, es un sistema de tipo

Clúster que ofrece escalabilidad.

Hadoop implementa procesamiento en paralelo a través de múltiples nodos de datos en un

sistema de ficheros distribuidos. Usa varios componentes:

Hadoop Common

MapReduce

HDFS (Hadoop Distributed File System)

21 Cloudera. (2019). Cloudera Documentation. Recuperado de https://docs.hortonworks.com/

22 Cloudera (2019). Development with Hadoop. Recuperado de https://es.hortonworks.com/tutorials/

Page 46: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

39

Apache Spark: Motor muy eficiente de procesamiento de datos a gran escala, maneja

procesamiento en tiempo real. Trabaja de forma masiva en memoria. Adicionalmente

puede funcionar Stand-Alone.

Apache Hive: Ver nuestro Hadoop como si fuera una base de datos normal, permite hacer

consultar al estilo “SELECT * FROM” (Usa MapReduce – procesos tipo Batch - por

debajo) lo que simplifica el desarrollo.

Apache HBase: Se puede decir que es la base de datos por defecto de Hadoop. Es de tipo

multi columna. Está preparada para trabajar con Hadoop por lo cual es distribuida y

escalable a su vez que permite gestionar grandes cantidades de información.

El mayor problema con la solución que ofrece HortonWorks es que los recursos para correr

su ambiente virtual son bastante altos, por ejemplo, como mínimo se debe contar con 10GB de

RAM dedicadas y 4 núcleos de procesamiento por cada nodo por lo cual excede el alcance del

proyecto.

Por lo anterior se realiza la instalación en limpio de Hadoop y los productos asociados. En

cuanto a la virtualización, cabe resaltar que se puede trabajar con Virtual Box, VMware o Docker.

Para el desarrollo del proyecto se hace uso de:

Docker

Sistema Operativo Centos 7

Apache Hadoop versión 3.2.0

Page 47: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

40

Hive versión 3.1.1

Microsoft® Hive ODBC Driver version 2.1.16

Lenguaje de programación Php 7.1

Framework Php Laravel versión 5

Para el desarrollo del proyecto se plantea disponer de tres Nodos de Hadoop, uno maestro y

dos esclavos, para aumentar el procesamiento de datos.

3.2. Configuración inicial Hadoop

En primer lugar, se instala Hadoop desde el descargable.tar.gz 23

Enseguida es necesario instalar el JDK Java ya que para la ejecución de aplicaciones se usa el

compilador de java y adicionalmente se deben configurar las variables de entorno

HADOOP_HOME, JAVA_HOME.

A continuación, otro paso importante en la configuración es el SSH (shh-keygen)

En caso de tener un Clúster con 3 nodos Hadoop, con comandos SSH es la forma en que el

Nodo maestro se comunica entre los demás nodos del Clúster.

Se tiene que pasar la clave pública entre los nodos. (authorized_keys => donde van a estar todas

las claves)

23 Apache org. Dowload Hadoop. Recuperado de https://hadoop.apache.org/releases.html

Page 48: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

41

Hadoop ejecuta los comandos SSH razón por la cual debe ser configurada, observando la figura

2 se tiene un concepto un poco reducido de cómo es la estructura del Clúster.

3.2.1. Montaje primer nodo de Hadoop.

3.2.1.1. Configuración HDFS - DATOS

Fichero core-site.xml

Contiene una serie de propiedades, entre las cuales se encuentra la configuración del sistema de

ficheros que se van a usar con Hadoop, el cual es HDFS por defecto y además se indica el puerto

por el cual se va acceder.

Fichero hdfs-site.xml

Por defecto la replicación de datos de Hadoop es de 3 nodos, por lo cual se va a configurar

inicial mente un primer nodo sin replicación debido a que se está trabajando en principio con

un solo nodo.

Después se define dónde va estar el nodo maestro, el cual solo tiene metadatos, por tanto,

con esta propiedad se configura el fichero donde se guardarán.

Por último, se le dice al sistema en que fichero se deben guardar los datos “reales” de los

Nodos esclavos.

Preparación sistema de ficheros HDFS

Se establece el sistema de ficheros con los metadatos que se van a trabajar

Arrancar HDFS

Con el comando start.dfs.sh inician 3 procesos (Namenode, Datanote, secondarynamenode)

encargado de la gestión de los datos.

Page 49: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

42

Función de metadatos

HDFS dispone de ficheros que gestionan los cambios del Clúster

Edits: Cambios que se van produciendo en la base de datos del HDFS.

Edits_inprogress: Donde se están escribiendo los datos en memoria y se sincronizar con el

proceso secondarynamenode

Fsimage: una imagen del momento actual del estado del HDFS.

Cuando tengo un fichero digamos de 5gb, el sistema HDFS lo va separar en bloques de 128 Mb

entre los nodos

Ilustración 11 Administrador Web: 9870 – vista de configuración del directorio del HDFS. Fuente propia.

3.2.2. Configuración MapReduce V2 – YARN – PROCESOS.

Otro elemento importante dentro del ambiente de Hadoop es el YARN (Yet Another Resource

Negotatior). Es el encargado de gestionar los recursos del Cluster, ofreciendo un mejor

Page 50: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

43

rendimiento en la ejecución de consultas y tolerancia a fallos. Como se puede apreciar en la

Ilustración 1224, junto con HDFS conforman la base de las demás soluciones como Hive,

MapReduce y los demás.

Ilustración 12 Arquitectura Hadoop MapReduce. Fuente: Packt (2015)

YARN: Gestor completo de recursos del Clúster

Involucra los siguientes procesos:

En el nodo maestro, el ResourceManager, cuya función es comunicarse con los nodos esclavos

a través del proceso NodeManager para la generación de trabajos generados de las diferentes

aplicaciones que realizan consultas al HDFS.

Las propiedades configurables para el inicio del Cluster, se definen en los ficheros:

24 Packt (2015). Hadoop and MapReduce. Recuperado de https://hub.packtpub.com/hadoop-and-mapreduce/

Page 51: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

44

Fichero mapred-site.xml

Se configura la propiedad donde se indica que el motor de gestión de procesos Hadoop va ser

de tipo Yarn. Suele ser el motor más usado pero también puede llegar a complementarse con

soluciones como Apache Spark.

Fichero yarn-site.xml

Se configura tres propiedades: Nombre de la maquina donde se encuentra el gestor del Yarn

(ResourceManager), los servicios auxiliares que gestionan Yarn indicando las clases (Shuffle) y

por último la ruta de las librerías.

Administración Web nodo1:8088, si ingresamos a esta url dentro del navegador obtendremos

la respuesta que se observa en la Ilustración 13, Aquí se presentará una serie de tablas que permiten

saber que ocurre actualmente con los recursos y procesos del Cluster.

Ilustración 13 Administrador Web de los procesos de los Nodos. Fuente propia.

MAPREDUCE: Es un algoritmo de tipo batch (consultas) de procesamiento de datos en

paralelo que trabaja en conjunto con YARN; a partir de la generación de un Job o trabajo este

algoritmo define:

Page 52: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

45

Procesos Mapper: Procesan en local un bloque de datos que será almacenado en HDFS.

Shuffle y Sort: Ordena o agrupa los datos cuando termina los procesos Mapper, con el fin

de tener una pista de la distribución de bloques del fichero.

Reducer: Se procesa los datos y se almacena finalmente en los nodos, según el nivel de

replicación definido.

3.3. Configuración de ficheros para montar el Clúster

Aquí es importante considerar que para que los diferentes nodos Slaves o Workers de Hadoop

se entiendan y se conozcan entre sí, es necesario que:

a. El usuario debe ser el mismo en todos los nodos

b. Adicionalmente se debe poder acceder a ellos a través de ssh sin contraseña (paso

anterior fichero authorized_keys)

c. Tener los mismos directorios en cada Nodo

d. Haber copiado el software Hadoop en todos los nodos y en el mismo sitio

e. Directorio de datos (DataNode) en todos los nodos Workers y haberle dado el permiso

correspondiente

Ahora, inicialmente se deben configurar dos Nodos Workers, para ello se identifica el fichero

hdfs-site.xml, que se encuentra en la ruta /etc/hadoop/, el nivel de replicación:

Page 53: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

46

Ilustración 14 Configuración Clúster - Fichero hdfs-site.xml. Fuente propia.

Se deja solo la carpeta /datos/datanode en los Nodos Workers y la carpeta /datos/namenode en

el Nodo Maestro

Finalmente, para terminar la configuración de ficheros del Clúster, es necesario dirigirse a la

ruta de configuración de ficheros de Hadoop y editar el archivo llamado “workers” indicándole el

hostname de los nodos Workers

A continuación, se procede a darle formato al directorio Namenode, resultando en la creación

de un directorio current, en donde van a estar los metadatos del HDFS de Hadoop.

Ilustración 15 Configuración Clúster - Metadatos directorio Current Namenode. Fuente propia.

Con los siguientes comandos se inician los servicios de HDFS y YARN en el Nodo Maestro:

hdfs --daemon start namenode

hdfs –daemon start secondarynamenode

Page 54: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

47

yarn –daemon start resourcemanager

mapred –daemon start historyserver

Los comandos para iniciar los servicios HDFS y YARN en los Nodos Workers son:

hdfs –daemon start datanode

yarn –daemon start nodemanager

Para verificar lo anterior, es necesario ir a la ventana de administración WEB en el puerto 9870

allí encontrara los dos nodos esclavos Hadoop activos, para el sistema de ficheros HDFS

Ilustración 16 Web Administración Hadoop - Nodos esclavos activos. Fuente propia

Y en la misma ventana de administración WEB, en el puerto 8088, se verá activo el servicio

YARN en los nodos esclavos.

Ilustración 17 Administración Web Hadoop - Nodos esclavos YARN. Fuente propia

Page 55: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

48

3.4. Despliegue contenedores Docker

Docker brinda una solución a los problemas de rendimiento, ya que se instala solo lo necesario

y a partir de una imagen se pueden desplegar diversos contenedores lo cual facilita la

implementación y despliegue de la solución.

La configuración se hace a partir de un Dockerfile, en donde se tiene lo siguiente:

Primero todo lo relacionado con la distribución Linux, donde se llama por medio del FROM a

la imagen oficial de Docker de Centos en su versión 7, posteriormente se le indica que todos los

comandos serán ejecutados bajo el USER root y finalmente se hace la instalación de paquetes y

dependencia necesarias para el correcto funcionamiento del Clúster. El ssh es esencial para la

ejecución de los procesos de Hadoop.

Ilustración 18 Dockerfile - Configuración Sistema Operativo Centos 7. Fuente propia

Se continúa con la configuración de HADOOP:

Page 56: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

49

Se debe descargar el paquete por http que dispone apache org, posteriormente la instalación del

JDK de java en su versión 8 (No es recomendable trabajar con la versión 11 ya que genera

inconvenientes de compatibilidad y errores al iniciar los procesos java de Hadoop).

Seguido de esto se ubican los archivos de Hadoop en la ruta /opt/ y se crean los directorios

necesarios para HDFS (Datanode en los Workers y Namenode en el Master).

Ilustración 19 Dockerfile - Configuración Hadoop – Java. Fuente Propia.

Ahora es necesario declarar las variables de entorno en el sistema para que los comandos de

Hadoop sean reconocidos. También se debe exponer los puertos que usa Hadoop por defecto

tanto para los datos (HDFS) como para los procesos (YARN).

Page 57: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

50

Ilustración 20 Dockerfile - Configuración Hadoop variables entorno y puertos. Fuente: propia

Lo único que es necesario cambiar con respecto al Dockerfile para los nodos Workers es la

creación de la carpeta Datanode en lugar de la Namenode y la ejecución de los respectivos procesos

para iniciar HDFS y YARN.

3.5. Configuración de HIVE

Como se hizo con Hadoop, se procede a ir a la página de apache HIVE para descargar

http://www.apache.org/dyn/closer.cgi/hive/ el archivo tar.gz del mirror disponible para descargar

por http

En principio se debe hacer una solicitud wget desde el servidor Centos y posteriormente

descomprimir los archivos en la carpeta opt, con el nombre Hive.

Si se inspecciona la ruta /opt/ se veran las carpetas de Hadoop y Hive

Page 58: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

51

Ilustración 21 Hadoop - Ubicación directorios Hadoop y Hive. Fuente: propia.

Ahora es necesario declarar las variables de entorno en el Dockerfile, quedando de la siguiente

manera:

Ilustración 22 Dockerfile - Configuración Hive variables de entorno. Fuente: propia.

Con esto se garantiza la posibilidad de usar las sentencias de Hive, Hadoop y Java

Ahora se debe ir al directorio /opt/hive/conf/ y copiar ciertos archivos con otros nombres

Ilustración 23 Hive - Ficheros de configuración hiveserver2. Fuente propia.

El primer archivo que copia es el beeline-log4j2.properties.template y se renombra de la

siguiente manera beeline-log4j2.properties, adicionalmente el hive-default.xml.template de igual

Page 59: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

52

forma se renombra asi hive-site.xml, otra copia que debe hacer es el hive-exec-log4j2.properties

y finalmente el hive-env.sh que es donde se almacenará la ruta de las variables de entorno de Hive.

Ahora se deben exponer los puertos 10000 y 9083 que es donde se publica el servidor de Hive.

En la terminal se procede a crear, las carpetas por defecto sobre las que trabaja Hive en HDFS;

es importante que tengan el mismo nombre y además brindarle los permisos correspondientes:

Ilustración 24 Hive - Creación carpetas por default en HDFS. Fuente propia.

Por último se debe crear en /opt/hive/ una carpeta con el nombre bbdd que es donde inicializa

la base de datos con el comando schematool –dbType, esta base de datos en principio será de tipo

derby, por lo que finalmente se guardara un fichero con el nombre ejemplo.db

Una vez echo todo esto, solo se debe ejecutar el servidor hiveserver2, expuesto en el puerto

10000. Ahora, si procede a ejecutar el comando jps, veremos los procesos activos, el

correspondiente al hiveserver2 es el RunJar

Page 60: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

53

Tabla 2 Procesos activos Nodo Maestro - HIVE. Fuente: propia.

Teniendo esto, ya se puede realizar la conexión por medio del cliente OBDC desde PHP y crear

la base de datos, con sus tablas y campos correspondientes para cargar los datos como si se tratará

de una base de datos SQL normal.

La configuración del Dockerfile para Hive quedaría de la siguiente manera:

Ilustración 25 Dockerfile - Configuración final Hive. Fuente propia.

Número de

procesoProceso Comentario

441 ResourceManagerGestor de recursos del

Cluster

137SecondaryNameN

ode

Sincronizador de metadata

y datos en HDFS

1065 JobHistoryServerEncargado del registro de

ejecución de cada Job

77 NameNode

Ubicación de la metadata

relacionada con la

configuración del HDFS

2111 JPSHerramienta Java para

listado de procesos activos

671 RunJar Proceso HiveServer2

Page 61: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

54

Nota: La configuración de los ficheros tanto de HDFS, YARN y HIVE se puede encontrar

en los anexos o en el enlace del repositorio de Github.

Page 62: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

55

4. MODELO DE BIG DATA

En el desarrollo de este capítulo se presenta en detalle el modelo de Big Data propuesto para la

gestión de procesos licitatorios en Colombia. Se explican los elementos que conforman este

sistema para así comprender su función y la importancia de su correcta configuración.

Adicionalmente, se mencionan los protocolos y puertos usados por cada uno de los servicios con

el fin de tener un panorama en cuanto a la parte de seguridad en la red donde se despliega el

modelo.

Con respecto a los elementos principales del modelo, se muestra la arquitectura, su función,

como los elementos son usados en el modelo propuesto y como se pueden llegar a complementar.

Así mismo se hace la respectiva introducción a una herramienta, capaz de integrar en una sola

plataforma los servicios que interactúan en este sistema distribuido, con el fin de facilitar y apoyar

la gestión de lo que es el Cluster de Hadoop.

A continuación, se comienza con el diagrama del modelo propuesto en donde se puede

evidenciar el flujo del procesamiento de datos bajo lo que es Big Data con Hadoop. Es importante

aclarar que la cantidad de nodos trabajadores o esclavos en un ambiente real puede llegar a un

número inclusive mayor que cinco mil y a su vez no solo se puede contar con un nodo maestro,

pero finalmente la configuración y comunicación entre ellos no varía demasiado con respecto a lo

estipulado en este documento.

Page 63: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

56

4.1. Diagrama del modelo propuesto

A continuación, se presenta el diagrama del modelo propuesto de Big Data con base en las

soluciones de Apache Hadoop. Se detallan los elementos que forman parte de este ambiente,

identificando las entradas, proceso y salidas.

Por otra parte, se realiza una introducción a la función de cada uno de los componentes

involucrados, los cuales son explicados en más detalle en este capítulo, para así entender la relación

entre cada uno y la importancia de su correcta configuración.

Page 64: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

57

Ilustración 26 Modelo Big Data. Fuente propia.

Page 65: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

58

4.2. Descripción del modelo

Es evidente que un modelo de Big Data se compone de varios elementos distribuidos que

desempeñan un papel fundamental al momento de la ejecución de los procesos y la transformación

de los datos. Es esencial comprender cuales son las partes involucradas y que es lo que hace cada

una de ellas para así llegar a enfocar y optimizar lo mejor posible la solución a la cual se quiere

llegar con los recursos disponibles.

Como lo muestra la Ilustración 26, la base o el núcleo del modelo se sitúa en el Nodo Maestro

(considerando que puede existir más de un nodo maestro), encargado de la administración de los

datos y asignación de procesos. Adicionalmente es donde se establecen las configuraciones para

las otras soluciones de apache compatibles para trabajar con Hadoop tales como Hive, HUE, Spark,

entre muchos otros. Por otro lado, pero no menos importante, se encuentran los nodos esclavos o

trabajadores los cuales en un ambiente real de producción pueden llegar a ser más de cinco mil

(5000), considerando que como es de tipo Clúster garantizando la escalabilidad y son los que en

última instancia gracias a su trabajo distribuido agilizan enormemente grandes procesos.

Otro aspecto vital en la construcción de cualquier modelo enfocado al análisis de datos con Big

data es la extracción de los datos, tanto para ser cargados al sistema distribuido como también para

generar valor a partir de su procesamiento. Recordando las 5 v, relacionadas con el concepto de

Big data (Volumen, Velocidad, Variedad, Veracidad y Valor) uno de las cosas que se torna más

importante cuando se trabaja con un modelo de este tipo es que los datos pueden llegar a ser

estructurados, o no estructurados lo que facilita trabajar con cosas como es el seguimiento del

usuario:

Page 66: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

59

Interacción del usuario con el sistema

Parámetros capturados en la interacción

Archivos de cualquier tipo (Logs, imágenes, texto, hojas de cálculo, etc.)

Datos como ubicación geográfica, tiempo de conversación

La forma en que se insertan ficheros de Hadoop es con programas de Java pero existen

herramientas que facilitan el desarrollo y uso tales como Hive

Finalmente, lo que garantiza montar un modelo de Big data es tener:

Escalabilidad: En la forma en que se puede aumentar de manera sencilla los nodos

encargados de la ejecución de los procesos y guardado de los datos.

Alta disponibilidad: Garantizando siempre la ejecución de las tareas, aunque se

presenten caídas o errores en algunos de los nodos. Con esto podemos ofrecer servicios

con un porcentaje de disponibilidad de casi 99.9 %.

4.3. Detalle de los elementos del modelo

Existen dos conceptos fundamentales dentro de la arquitectura de un modelo de Big Data con

Hadoop, estos son el sistema distribuido de ficheros y el Otro negociador de recursos. En conjunto

generan un ambiente distribuido donde cada nodo involucrado tiene una función específica en el

sistema, es por esto que comprender el detalle de cada uno es fundamental.

Page 67: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

60

4.3.1. HDFS – Hadoop Distributed File System

4.3.1.1. ¿Para qué sirve?

El HDFS básicamente es un sistema de almacenamiento que además de ser tolerante a fallos

que permite guardar gran cantidad de datos, garantiza escalabilidad y disponibilidad de los datos.

Su función es sencilla pero muy útil lo cual permite sacarle provecho de muchas formas.

Con el HDFS puede almacenar cualquier tipo de información de modo que, sin importar su

tamaño en disco, se garantiza su replicación a través de cada nodo del Clúster. Así mismo,

trabajando con este ambiente se tiene la capacidad de hacer recuperación de datos, en caso de algún

fallo de hardware, de una forma más sencilla y además de manipularla de una manera más eficaz.

4.3.1.2. Arquitectura.

El sistema distribuido de ficheros de Hadoop, como se puede observar en la ilustración 27,

cuenta con dos grandes elementos el Namenode y los DataNode, estos trabajando en conjunto

dividen los ficheros en bloques (de 128 Mb) y generan copias (según lo establecido por las

configuraciones propias) a través de los nodos.

Page 68: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

61

Ilustración 27 Arquitectura HDFS: Fuente Apache (2019)

Por buenas prácticas, la replicación de los datos se establece en un nivel 3, es decir, cada bloque

se guardará en tres de los Nodos Esclavos del Clúster. En caso de requerir más duplicidad de los

datos por cualquier motivo se debe considerar el espacio en disco que todas estas copias pueden

ocupar.

La función del Namenode es almacenar la meta data, la cual es información sobre:

¿Cómo es el Clúster?

¿Cuáles son los Esclavos?

Enrutamiento de los Nodos.

Es importante recordar que para inicializar el namenode, después de haber configurado los

ficheros correspondientes, se debe ejecutar el comando:

hdfs namenode -format

Page 69: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

62

Al finalizar correctamente este comando se puede observar un directorio current en el directorio

/datos/namenode:

Ilustración 28 Archivos directorio Current Namenode. Fuente propia.

Y detallando los ficheros que se van guardando a través de la interacción con el HDFS se puede

ver que se encuentran varios EDITS y FSIMAGE, encargados de gestionar los cambios que se

producen en el Clúster:

Ilustración 29 Flujo de ficheros metadatos HDFS Namenode. Fuente propia

De acuerdo a la ilustración, los edits son los cambios que se generan en el HDFS, el edit in

progress es donde se están guardando los datos en el momento y finalmente el Fsimage es una

Page 70: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

63

captura de un momento concreto del estado de HDFS. El fsimage y los edits se cargan en memoria

mientras el edits en progress guarda la información.

Todo el proceso anterior es automático, y es gestionado por el proceso Secondarynamenode,

por lo cual no se debe y tampoco es necesario interactuar directamente con todo esto.

Por otro lado, en los Datanodes es donde se almacena los bloques generados a partir de los

archivos que se cargan al sistema, allí de igual formar se genera una estructura de directorios y

archivos a partir de un directorio current.

4.3.1.3. ¿Cómo es usado en el modelo?

Por medio de la configuración establecida en el apartado anterior se define un Nodo Maestro el

cual administra a los nodos Workers y establece un nivel de replicación de 2, además, el tamaño

de los bloques que se generan, a partir del guardado de ´cualquier tipo de información, es de 128

Mb.

En cuanto a los ficheros que se establecen allí por medio de los comandos hdfs dfs son los

siguientes:

tmp Donde se guardará logs relacionados con la ejecución de los procesos de HIVE, YARN

y HUE. Gracias a esto se puede en algún punto llegar a depurar los errores que se van dando en el

transcurso de la ejecución de los diferentes procesos involucrados.

User/Hive/Warehouse Aquí es donde se guarda toda la información insertada a la bases de

datos, en este caso la del SECOP, se tiene también las diferentes tablas creadas y los bloques

guardados a través de los nodos del Clúster

Page 71: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

64

Ilustración 30 Directorio de la tabla procesos Base de Datos SECOP. Fuente propia

Dando un vistazo de la interacción generada a partir de las pruebas del modelo, se puede

evidenciar la carga de la información en la tabla de procesos en forma de archivos, replicados en

dos nodos del Clúster en forma de bloques.

Si se observa el detalle de cualquiera de estos archivos se obtiene información de donde se

encuentra disponible cada uno de los bloques.

Ilustración 31 Detalle bloque generado archivo SECOP. Fuente propia

Page 72: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

65

4.3.1.4. ¿Qué más se puede hacer con él?

Snapshot: Los Snapshot son una copia instantánea de un fichero en un momento determinado.

En caso de requerirse es posible sacar snapshots de la información, esto con el objeto de recuperar

algún elemento que haya sido borrado accidentalmente o que se encuentre corrupto. Todo esto se

resume en tres aspectos importantes que cualquier administrador de un sistema HDFS debe

considerar:

Backups

Recuperación

Histórico

Para hacer uso de esta propiedad del HDFS hacemos lo siguiente:

a. Ejecutar el comando para activar el snapshot de la base de datos:

hdfs dfsadmin –allowSnapshot /user/hive/warehouse/secop.db

b. Ir a la ruta del bloque generado a partir del archivo, haciendo uso de la terminal, en

los directorios datanode, para esto se hace uso del comando fsck del HDFS junto

con los flags –blocks –locations -files

hdfs fsck /user/hive/warehouse/secop.db/procesos/000000_0_copy_10 -blocks -

locations -files

c. Se genera el snapshot con el comando

Hdfs dfs –createSnapshot /user/hive/warehouse/secop.db snapsecop

Page 73: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

66

d. Observar el fichero con el comando dfs –ls

hdfs dfs -ls /user/hive/warehouse/secop.db/.snapshot/snapsecop

e. En caso de requerirse copiar el snapshot, simplemente se ejecuta el siguiente

comando:

hdfs dfs –cp /user/hive/warehouse/secop.db/.snapshot/snapsecop/procesos

4.3.1.5. ¿Cómo más se puede complementar?

Por medio de la configuración REST API para el WebHDFS se puede acceder a la data con

herramientas como HUE, esto llega a facilitar el manejo y administración de la información en el

sistema. Cuenta tanto con su autenticación, usuarios Proxy, el Cross Site Request Forgery

Prevention lo que en última medida busca garantizar la seguridad y la integridad de los datos.

Ilustración 32 Administración HDFS desde HUE. Fuente propia.

Page 74: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

67

Como se evidencia en la ilustración, gracias a HUE se puede ver el detalle de cada fichero

cargado al HDFS. En instancia es similar al Browser de la administración web del hdfs al cual se

accede desde el puerto 9870 pero este permite ver la información guardada en el bloque de

información.

4.3.2. YARN – Yet Another Resource Negotiator

4.3.2.1. ¿Para qué sirve?

El Otro Negociados de Recursos, YARN por sus siglas en inglés, es aquel que se encarga de la

gestión de los recursos dentro de la arquitectura del modelo. En principio el servicio, ejecutado

desde el Nodo maestro, encargado de hacer el despliegue para la ejecución de las actividades se

llama Resourcemanager, este se comunica con los servicios Nodemanager del lado de los nodos

esclavos para así optimizar el tiempo de ejecución de tareas y utilización de recursos del Clúster.

4.3.2.2. Arquitectura

Como se observa en la ilustración 33, la arquitectura de YARN se centra en el

ResourceManager.

Page 75: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

68

Ilustración 33 Esquema MAPREDUCE - YARN. Fuente: Apache (2019)

En principio, existe la solicitud de un cliente, ya sea por la ejecución de una consulta SQL desde

HIVE u cualquier otro programa que quiera interactuar con el HDFS de Hadoop.

El resourcemanager gestiona los recursos del Clúster, por lo cual define en cuales nodos se va

a ejecutar la aplicación y que trabajos (Jobs) se van a ejecutar en cada uno de ellos.

El nodemanager gestiona los recursos de cada nodo. El App Master gestiona los recursos que

necesita la aplicación, este además ejecuta contenedores que finalmente optimizar la ejecución de

procesos.

4.3.2.3. ¿Cómo es usado en el modelo?

Inicialmente se establece la propiedad donde se indica que el motor de gestión de procesos

Hadoop va ser de tipo Yarn (Mapreduce V2). Cabe aclarar que la versión 1 de Mapreduce está

inmersa en una parte de lo que conforma YARN.

Page 76: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

69

Adicionalmente se configuran tres propiedades las cuales indican el nombre de la maquina

donde se encuentra el gestor del Yarn (ResourceManager), los servicios auxiliares que van a

gestionar Yarn indicando las clases (Shuffle) y por último la ruta de las librerías.

Configurando lo anterior se tiene un sistema distribuido encargado de ejecutar las diferentes

aplicaciones, como por ejemplo las de tipo Mapreduce, Spark, entre otras.

Ilustración 34 Detalles de aplicaciones ejecutadas en el modelo. Fuente propia.

4.3.2.4. ¿Cómo se puede complementar?

Por medio del servicio de history server de MapReduce, se logra un seguimiento de cada trabajo

lanzado y gestionado por el ResoruceManager y los Nodemanager. Esto se aprecia en detalle por

medio de la administración web en la dirección del nodo maestro y sobre el puerto 8088.

Page 77: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

70

Ilustración 35 Jobs generados a partir de la ejecución de aplicaciones MapReduce. Fuente propia

Aquí se tiene el nombre asignado a los Jobs que como se puede apreciar son las consultas SQL

ejecutadas al HiveServer2 desde cualquiera de los métodos de conexión disponibles, tratados en

el siguiente título.

Cabe resaltar que también se puede tener información detallada de cada una de las tareas, como

por ejemplo el número de intentos, su estatus y tiempo de ejecución.

Ilustración 36 Detalle de las tareas generadas por los Jobs. Fuente propia.

Page 78: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

71

4.3.3. HIVE

4.3.3.1. Modos de ejecución de HIVE:

Hive CLI: Es una instancia del servicio de Hive. Trabaja localmente y permite solo una conexión

concurrente, lo cual no es muy útil en un ambiente laboral pero que permite hacer unas pruebas

iniciales para iniciar con los comandos hiveSQL. La forma de iniciar este servicio es por medio de

la palabra Hive en el nodo donde se encuentre instalado.

Hiveserver2: El servidor Hive permite la conexión a sus recursos por medio de un servicio

Thrift, el cual es un protocolo de comunicación binaria utilizado para crear servicios en varios

tipos de lenguajes.

Su conexión funciona por los puertos 10000 y 10001. Es necesario también indicar el tipo de

conexión, en el caso del proyecto se tiene desactivado los acuerdos de nivel de servicio (noSLA)

lo cual es importante considerar ya que en caso de solicitar una conexión por cualquier otro método

el resultado no será satisfactorio.

4.3.3.2. Tipos de Datos (Schema) de HIVE.

En la siguiente tabla se puede observar los tipos de datos con los cuales se puede definir un

modelo de base de datos en HIVE, no obstante recordando que no solo estos tipos de datos pueden

llegar a ser insertados en HDFS a través de HIVE, ya que es posible la carga de datos tanto

estructurados como semi o no estructurados.

Page 79: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

72

Tabla 3 Tipos de datos HIVE. Fuente: propia.

4.3.3.3. Como se accede al Hiveserver2.

Para acceder a ellos se puede por medio de Beeline, el JDBC o el OBDC.

Tipo de

DatosCategoria Valor

Integers TINYINT Entero de 1 byte

SMALLINT Entero de 2 bytes

INT Entero de 4 bytes

BIGINT Entero de 8 bytes

Boolean BOOLEAN TRUE/FALSE

Floating FLOAT Precisión simple

DOUBLE Doble precisión

Fixed DECIMALValor de punto fijo de escala y precisión definidas por el

usuario

STRING STRINGSecuencia de caracteres en un conjunto de caracteres

especificado

VARCHARSecuencia de caracteres en un conjunto de caracteres

especificado con una longitud máxima

CHARSecuencia de caracteres en un conjunto de caracteres

especificado con una longitud definida

DATE TIMESTAMP Fecha y hora sin zona horario

TIMESTAMP

WITH LOCAL

TIME

Un punto en el tiempo medido en nanosegundos

DATE Una fecha

BINARY BINARY Secuencia de bytes

Page 80: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

73

Ilustración 37 Modos de conexión HiveServer2. Fuente: Mujumdar (2013)

Para el caso de Beeline, es necesario iniciar la conexión con el comando ¡connect

jdbc:hive2://host:puerto/bd;auth=noSasl usuario contraseña.

Al conectarse se puede ejecutar comandos básicos tales como use database; show tables; select

* from; y muchos otros.

También debe saber que, con la configuración actual del modelo, cuando se haga la ejecución

de consultas tales como INSERT o SELECT con condiciones de agrupamiento u JOINS,

HiveServer2 procederá a generar una solicitud de recursos al ResourceManager lo que finalmente

resultara en la ejecución de aplicaciones MapReduce. Este comportamiento lo ha observado en

ilustraciones anteriores y será detallado en el apartado de implementación y pruebas del modelo.

Page 81: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

74

Ilustración 38 Conexión Beeline CLI al HiveServer2. Fuente propia.

OBDC / JDBC

Según Alvarez (2019) el OBDC es un estándar de acceso a bases de datos que utilizan los

sistemas Microsoft. Las siglas significan Open DataBase Connectivity. A través de ODBC, en un

sistema Windows se puede conectar con cualquier base de datos.25 En este caso, HIVE cuenta con

un driver OBDC que permite la conexión de diferentes lenguajes de programación como Php o

Python para realizar consultas personalizadas desde una aplicación.

En cuanto al JDBC (Java Database Connectivity), es usado por soluciones como HUE. Desde

la administración Web de esta se puede observar toda la estructura de la base de datos, permitiendo

observar cada una de las tablas y además la ejecución de consultas SQL que usan como medio de

comunicación el JDBC

25 Alvarez, M. (2016). ¿Qué es OBDC?. Recuperado de https://desarrolloweb.com/faq/que-es-odbc.html

Page 82: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

75

Ilustración 39 Conexión JDBC HUE - HIVE. Fuente propia

4.3.4. HUE

4.3.4.1. Configuración.

Como se puede evidenciar en los temas anteriores, HUE es una solución que permite interactuar

más dinámicamente con cada uno de los elementos del Modelo de Big Data.

Gracias a esta solución se puede realizar una administración tanto de la parte de los datos como

de los procesos y no se queda solo ahí, también es capaz de realizar analítica de los datos al ejecutar

consultas SQL sobre cualquier base de datos presente en el sistema.

En cuanto a la configuración, toda se realiza en el hue.ini, el cual es un fichero bastante grande

donde se declara las rutas y puertos de cada uno de los procesos (HDFS, YARN, HIVE, entre

otros). A continuación, se muestra la configuración de cada uno de estos apartados.

Page 83: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

76

Ilustración 40 Configuración HUE - HDFS. Fuente propia.

Es evidente que es necesario conocer la arquitectura del modelo ya que debemos indicar el host

desde el cual se ejecutan los procesos como lo es ResourceManager o el HiveServer2.

Page 84: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

77

Ilustración 41 Configuración HUE - YARN. Fuente propia.

También es vital garantizar que cada uno de los puertos declarados sean accesibles y no

presenten ningún tipo de bloqueo por firewall.

Ilustración 42 Configuración HUE - HIVE. Fuente propia.

Page 85: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

78

Finalmente Cabe resaltar que para garantizar el correcto funcionamiento de HUE se debe

instalar ciertas librerías a nuestro sistema operativo, como por ejemplo Python-devel. Además,

desde el Dockerfile se debe exponer el puerto 8888 ya que desde este se accede vía Web a la

administración de HUE:

Ilustración 43 Configuración HUE- Dockerfile. Fuente propia

4.3.4.2. Funcionalidad.

Antes de comenzar a trabajar con HUE se debe garantizar que cada elemento este configurado

correctamente y esto se puede hacer por medio del asistente de inicio rápido de HUE. Allí se

indican los problemas detectados en la configuración, lo cual permite depurar fácilmente cada uno

de los errores.

Ilustración 44 Comprobación de configuración HUE. Fuente propia.

Page 86: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

79

Como se ha venido mostrando prácticamente HUE permite conectar todo e interactuar con el

modelo de Big Data de una manera sencilla y eficaz. También es posible trabajar con muchos tipos

de base de datos como lo es PostgreSQL, Oracle o SQLite.

Ilustración 45 Bases de datos compatibles con HUE. Fuente propia.

Como se ve en la siguiente ilustración es posible la ejecución de consultas Hive SQL, así como

también el cargue de ficheros externos.

Ilustración 46 Editor de consultas HIVE SQL. Fuente propia

Page 87: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

80

4.4. Seguridad en el modelo

Uno de los puntos a considerar cuando se quiere comenzar a trabajar con un modelo de Big

Data es la seguridad. Es vital asignar los permisos correspondientes a cada usuario encargado de

la administración en los directorios del HDFS, para con esto permitir el acceso y la escritura sin

impedir el normal cumplimiento de sus funciones, y no menos importante para garantizar el

guardado de los archivos Logs de los diferentes servicios para llevar un registro completo de la

actividad del Clúster obteniendo un mejor control sobre el panorama de este.

Hadoop y las soluciones integradas con este hacen uso de ciertos puertos, que en caso de existir

bloqueos en la red sobre la cual está operando puede causar el incorrecto funcionamiento del

sistema o errores al intentar a acceder a determinados recursos importantes. También se resalta el

hecho de que la mayoría de estos servicios cuenta con un protocolo http y otro https para una

conexión con certificados SSL lo cual al querer comunicarlo con otras aplicaciones es necesario

tener en cuenta.

A continuación, se presenta una tabla con los puertos usados por cada uno de los servicios

configurados en el modelo:

Page 88: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

81

Tabla 4 Puertos servicios de Hadoop. Fuente: Propia.

Componente Servicios Puerto Protocolo Propiedad configurable Observaciones

Hadoop HDFS Namenode 9870 TCP - HTTP dfs.namenode.http-addressAdminsitración web del

HDFS

Namenode 9871TCP -

HTTPSdfs.namenode.https-address

Administración Web del

HDFS con protocolo https

DataNode 9864 TCP - HTTP dfs.datanode.http. address

Puerto para la conexión con

el SecondaryNamenode

bajo el protocolo http

DataNode 9866TCP -

HTTPSdfs.datanode.https. address

Puerto para la conexión

segura con el

SecondaryNamenode bajo

el protocolo https

SecondaryNa

menode9868 TCP - HTTP

dfs.namenode.secondary.http-

address

SecondaryNa

menode9869

TCP -

HTTPS

dfs.namenode.secondary.https-

address

Protocolo https para el

servicio

SecondaryNamenode

Hadoop

MapReduce Job History 10020 TCP mapreduce.jobhistory.address

Job History

Admin10033 TCP

mapreduce.jobhistory.admin.addres

s

Job History

Web UI19888 TCP - HTTP

mapreduce.jobhistory.webapp.addr

ess

Acceso Web para ver

registro del Job de la

actividad.

Job History

Web UI19890

TCP -

HTTPS

mapreduce.jobhistory.webapp.https.

address

Servicio Web UI para con

protocolo https para el Job

History Server

Hadoop YARN ResourceMan

ager8032 TCP - HTTP yarn. resourcemanager. address

Dirección de la interfaz del

administrador de

aplicaciones en el

RresourceManager.

ResourceMan

ager8030 TCP - HTTP

yarn. resourcemanager.

scheduler.address

La dirección de la interfaz

del planificador (Scheduler).

ResourceMan

ager8031 TCP

yarn. resourcemanager. resource-

tracker. address

ResourceMan

ager8033 TCP

yarn. resourcemanager.

admin.address

ResourceMan

ager8088 TCP

yarn. resourcemanager.

webapp.addressAdministración Web

NodeManager 8040 TCPyarn. nodemanager. localizer.

address

NodeManager 8042 TCP - HTTPyarn. nodemanager.

webapp.address

Dirección http de la

aplicación Web del

NodeManager, instalado en

cada nodo esclavo.

NodeManager 8041 TCP yarn. nodemanager. address

MapReduce

JobHistory

Server

10020 TCP mapreduce. jobhistory. address

Dirección predeterminada

para que el servidor de la

línea de tiempo inicie el

servidor RPC.

MapReduce

JobHistory

Server

19888 TCPmapreduce. jobhistory.

webapp.address

Hive Metastore 9083 TCP hive.metastore.http.port

HiveServer2 10000TCP -

THRIFThive.server2.thrift.port

Protocolo de comunicación

binaria para servicio Web -

Thrift.

HiveServer2 10001 TCP hive.server2.thrift.port

Hue Server 8888 TCP hue.ini - http_port and http_hostAdministración Web UI de

HUE

Page 89: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

82

4.5. Funcionamiento del modelo

Remitiendo la ilustración 27 correspondiente al Modelo de Big Data, se va a resumir el flujo

del proceso desde la carga de datos hasta la interacción y visualización de estos:

Fuente de Datos: Por medio de formularios, WebScraping, ClickStream u otro método se

realiza la captura de datos del modelo de negocio el cual se quiere implementar un modelo de

analítica de datos.

Carga de Datos: Para comenzar se genera una consulta hiveSQL o carga de ficheros por medio

del OBDC o JDBC de HiveServer2, este escucha el suceso por el puerto 10000 y 10001,

adicionalmente en caso de que la consulta lo requiera generará una aplicación MapReduce la cual

será accesible desde el puerto 8088 del Hostname o dirección IP del Nodo Maestro.

Nodo Maestro y Esclavos: Aquí es donde a partir de las aplicaciones generadas por el

HiveServer2 se comienza un proceso de comunicación con el HDFS por medio del gestor del

Clúster YARN, este a su vez se comunica vía SSH con los NodeManager de los nodos esclavos

para proceder con el guardado de la información en forma de bloques distribuidos a través del

Clúster.

Una vez los Maps y los Reduces, generados de la ejecución de la aplicación de HIVE, hayan

finalizado su función se procede a informar con un status 200 la correcta ejecución de la solicitud

del cliente.

Interacción con los datos: Por medio de HUE u otra herramienta que haga uso del JDBC u

OBDC de HIVE, se procede a interactuar con los datos. Aquí el usuario finalmente puede realizar

cualquier tipo de consulta sobre la base de datos almacenada en el HDFS y el HiveServer2 generará

Page 90: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

83

un flujo similar al que se realizó con la carga de datos pero que en última instancia presenta los

datos de forma más grafica en la administración grafica de HUE.

Page 91: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

84

5. IMPLEMENTACIÓN Y PRUEBAS DEL MODELO

En este capítulo se presenta la captura de los datos de la herramienta para la gestión de

licitaciones, SECOP, por medio de una aplicación desarrollada con Php, aclarando el proceso de

Web Scraping y la conexión al modelo de Big Data planteado por medio del OBDC de HIVE.

Posteriormente se muestra la ejecución de consultas SQL con las cuales se realiza la analítica de

los datos almacenados.

5.1. Captura de datos SECOP programa PHP

Para realizar el proceso de web Scraping es necesario identificar las herramientas necesarias

para la captura de procesos licitatorios, como se menciona anterior mente en el segundo capítulo

del documento, es necesario capturar el mkey que proporciona la plataforma, para ello se requiere

de tres elementos básicos como se muestra a continuación.

Ilustración 47 Modelo Web Scraping. Fuente propia.

Page 92: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

85

Php, Hypertext Preprocessor es un lenguaje de programación de lado de servidor que permite

programar un script capaz de controlar y obtener el mkey que provee Colombia Compra Eficiente.

Selenium WebDriver, Capaz de iniciar una instancia del navegador, con el fin de controlarlo y

realizar pruebas en sistemas remotos.

Navegador web, es el software o programa que permite interpretar el contenido web.

5.1.1. Configuración de script.

Se realiza un programa en leguaje PHP, mondado sobre el Framework Laravel 5 con los

siguientes requerimientos

PHP 7.1.3

BCMath PHP Extensión

Ctype PHP Extensión

JSON PHP Extensión

Mbstring PHP Extensión

OpenSSL PHP Extensión

PDO PHP Extensión

Selenium WebDriver 1.0 o superior

Google Chrome versión 74 o superior

Para iniciar el proceso de desarrollo del script es necesario tener conceptos básicos sobre web

Scraping, por ello se mencionan conceptos básicos como SELECTORES CSS y XPATH (XML

Path Language o lenguaje XML de cambios), dichos elementos cumplen la función de buscar he

Page 93: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

86

identificar zonas en el HTML, gracias a ellos se puede identificar desde un botón, hasta un campo

dentro de una tabla, a continuación, se ven ejemplos de cada uno de ellos.

Ilustración 48 Ejemplo Selectores. Fuente propia.

El anterior botón retorna las siguientes cadenas según el tipo

Selector CSS

#tsf > div:nth-child(2) > div > div.FPdoLc.VlcLAe > center > input.gNO89b

XPATH

//*[@id="tsf"]/div[2]/div/div[3]/center/input[1]

Se procede a realizar la identificación como usuario en la plataforma SECOP, por lo

cual la función getKey() realiza la apertura de un navegador, posterior mente haciendo uso

de los selectores css se logran identificar los campos de inicio de sesión, se completan las

credenciales de acceso, una vez iniciada la sesión se identifica el mkey, se captura y se

cierra el navegador.

Page 94: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

87

Ilustración 49 Script Captura mkey SECOP. Fuente propia.

El cliente Gozzle realizara peticiones de manera constante variando por cada petición el número

de la página, inicio y fin del segmento, para este caso se organizaron los registros de manera

descendente con un límite de 433301 iteraciones, hay que tener en cuenta que por iteración el

servicio retorna 5 procesos licitatorios.

Page 95: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

88

Ilustración 50 Parámetros solicitud POST SECOP. Fuente propia.

En la imagen se empaquetan procesos por cada 1000 iteraciones, es decir por cada paquete se

envía a HIVE 5000 procesos nuevos, posterior a se guarda un archivo tipo “sql sintaxis" en el

directorio hiveSQL del repositorio.

Por cada iteración el cliente Gozzle retorna el HTML de la página, pero es Crawler la

herramienta permite manejar este contenido, en este caso la función retorna un array donde se

identifica el nombre de la entidad, Referencia, Descripción entre otros campos.

Page 96: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

89

Ilustración 51 Array retornado de solicitud POST al SECOP. Fuente propia.

5.2. Configuración ODBC

Hive permite realizar conexiones por medio de diferentes controladores, se puede utilizar una

conexión por medio de Java Database Connectivity (JDBC) u Open Database Connectivity

(ODBC), para la simulación se realiza la configuración en Windows 7 por medio de ODBC, para

ello es necesario descargar dicho controlador desde la página oficial de Microsoft:

https://www.microsoft.com/en-us/download/details.aspx?id=40886

Page 97: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

90

Ilustración 52 DRIVER HIVE OBDC. Fuente: Microsoft (2019)

Ya descargado he instalado, se procede a buscar la herramienta de administración de ODBC

disponible en nuestro sistema

Ilustración 53 Administrador OBDC Sistema Operativo. Fuente propia.

En ella se debe verificar que la instalación sea exitosa por lo cual en la pestaña “DNS sistema”

se encuentra dicho controlador

Page 98: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

91

Ilustración 54 Data Source Name - OBDC HIVE. Fuente propia

Finalizada la instalación se procede a crear un DNS de usuario, para ello es necesario dirigirse

a dicha pestaña y agregar un nuevo DNS

Ilustración 55 Creación DSN de usuario HIVE. Fuente propia.

Se despliegan varios controladores de bases de datos, para el cual se escoge la anterior mente

instalada

Ilustración 56 Selección Controlador OBDC HIVE. Fuente propia.

Page 99: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

92

Se procede a configurar el DNS de la siguiente manera:

Ilustración 57 Configuración DNS HIVE. Fuente propia.

DATA SOURCE NAME: HiveDriver

HOST: Ip servidor HIVE

PORT :1000

DATABASE: SECOP

USER NAME: hiveuser

PASSWORD: hivepass

SSL OPTIONS: Disabled

Es necesario realizar un test de conexión, para verificar que la configuración es exitosa, El

parámetro Thrift Transport puede variar entre binary y sasl dependiendo la configuración realizada

en el servidor HIVE.

Page 100: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

93

Ilustración 58 Test de conexión OBDC HIVE. Fuente propia.

5.3. Conexión OBDC PHP-HIVE

Realizada la configuración, y una vez se verifique que nuestro equipo puede realizar una

conexión exitosa con el servidor HIVE, se procede a programar el script de conexión, en él se debe

colocar el DNS de usuario, nombre de usuario y contraseña, se debe tener en cuenta que, para el

caso de Windows, es necesario activar la extensión “php_odbc.dll” disponible en el archivo php.ini

Si todo quedo correctamente configurado, la conexión debe ser exitosa.

Ilustración 59 Función de conexión OBDC PHP - HIVE. Fuente propia.

Page 101: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

94

5.4. Ejecución de consultas al HDFS por medio de HIVE

A partir de todas las configuraciones realizadas en los apartados anteriores solo basta generar

las consultas por medio de la conexión activa, por ejemplo, desde el cliente de Beeline se procede

a ejecutar una consulta que cuente todos los registros guardados en la base de datos de SECOP en

el HDFS del modelo. Para ello se ejecuta la consulta SELECT count (*) from procesos esto genera

un Job, el cual designa una aplicación map y una reduce para la ejecución de la consulta.

Ilustración 60 Ejecución de Consultas hiveSQL desde Beeline. Fuente propia.

5.5. Analítica de datos con HUE

Ahora bien, solo resta proceder a realizar las consultas correspondientes que arrojen la

información solicitada. Para esto se va a hacer uso de la administración web de HUE, en donde

por medio de la ejecución de consultas hiveSQL se tienen funcionalidades muy interesantes.

Page 102: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

95

En la ilustración 61 se observa como al momento de ejecutar una consulta, la cual cuenta las

referencias de los procesos generadas por cada entidad con un límite de 5 y de forma descendente,

es creado un Job en el nodo1 con un número de referencia terminado en 97_0001.

Ilustración 61 Ejecución consulta hiveSQL - administración HUE. Fuente propia.

Cuando la consulta finaliza con un status 200, se puede observar la tabla generada para las

columnas de la consulta. En este caso se tiene una columna para la entidad y otra para la cantidad

de procesos que tiene registrado en el SECOP:

Ilustración 62 Resultado consulta hiveSQL - administración HUE. Fuente propia.

Page 103: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

96

Y no solo eso, también permite visualizar de manera mucho más grafica por medio de un gráfico

de tipo Barras o PIE el resultado de la consulta. se evidencia que la entidad con más procesos

registrados es la empresa de acueducto y alcantarillado de Bogotá con un número de 2329.

Ilustración 63 Grafico de Barras, consulta hiveSQL. Fuente propia.

Ilustración 64 Gráfico de Barras, consulta hiveSQL. Fuente propia.

En caso de poseer información con geolocalización, que se pueda discriminar en la consulta, es

posible la generación de un gráfico con la distribución de los datos en un mapa precargado de los

Page 104: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

97

diferentes países. Esto puede ser un valor agregado en casos de compañías presentes en diferentes

países y que por ejemplo deseen conocer la cantidad de productos vendidos en cada uno de estos

Y no solamente se dispone de estos tres tipos de gráficos. Existen gráficos de dispersión y

mapas de calor que pueden ayudar a entender más los datos arrojados por las diferentes consultas.

Además, se pueden implementar otras herramientas como lo es Excel conectado con el OBCD de

HIVE para hacer una interpretación diferente de los datos.

Ilustración 65 Grafico de Geolocalización. HUE. Fuente propia

Otra consulta que se pueda generar a partir de los datos obtenidos por el WebScraping realizado

sobre el SECOP, es la cantidad de procesos publicados por entidad en el transcurso del año 2019.

Ilustración 66 Consulta cantidad de procesos por entidad 2019 - HUE. Fuente propia

Page 105: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

98

Como se evidencia se pueden ver los resultados, y dan un total de 984 procesos licitatorios

generados por la Agencia Logística de las Fuerzas Militares

Ilustración 67 Entidades con más procesos registrados 2019 - HUE. Fuente propia.

Ilustración 68 Gráfico de Barras, cantidad procesos SECOP 2019. Fuente propia.

Finalmente es también posible la descarga de la información de cada una de las consultas en un

formato CSV o Excel e inclusive se puede copiar al portapapeles por ejemplo la tabla resultante.

Con esto logramos complementar Hadoop y se abren muchas más opciones para comenzar a usarlo

en la cualquier organización con el fin de sacarle el mejor provecho a los datos que capturan de

cualquier tipo de fuente.

Page 106: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

99

Ilustración 69 Opciones de descarga de información. HUE. Fuente propia

Page 107: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

100

CONCLUSIONES

Es importante realizar un análisis del modelo de negocio al cual se quiere aplicar el concepto

de Big Data, ya que con esto se logrará estructurar una solución más acorde a las necesidades

encontradas y permitirá sacar mejor provecho a los recursos los cuales tienden a ser en su mayoría

limitados. Adicionalmente, lo más optimó es contar con la opinión de un experto que oriente la

planeación de la implementación del modelo de Big Data y a su vez contar conjuntamente con una

persona de la organización que conozca todos los procesos inmersos los cuales se contempla

hacerles analítica de datos.

Con la integración de herramientas relacionadas con Apache Hadoop es posible optimizar el

tiempo de ejecución de las actividades que bajo un modelo normal tardaría mucho en obtener

resultados satisfactorios y que otorguen valor. La computación distribuida es la solución para

muchos problemas de rendimiento, escalabilidad y tolerancia a fallos, debido a que al contar con

un Clúster, la disponibilidad e integridad de los datos se incrementa exponencialmente.

Cada uno de los elementos que interactúan en el modelo tiene un variado número de

configuraciones, por lo cual para garantizar la estabilidad y continuidad de cualquier proyecto

relacionado con Hadoop es necesario contar con personal experto en el manejo y administración

de cada solución. Así mismo, es importante el trabajo en conjunto de las diferentes áreas que

afectan directamente el planteamiento del modelo como, por ejemplo: Devops, Seguridad, Base

de Datos, Data Science, entre otros.

Una vez que ya se encuentra en producción un modelo de Big Data, es posible realizar la

analítica de los datos de diferentes formas. Existen soluciones que son más sencillas de integrar

que otras, por ejemplo, la que se trabajó en el proyecto en cuestión (HUE), pero pueden que no

Page 108: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

101

sean tan configurables como se requiere, de modo que conocer el funcionamiento detallado de

cada elemento dentro del modelo permitirá llegar a resultados más completos y enriquecedores

para la organización.

En definitiva, es posible la gestión de los procesos licitatorios en Colombia, a partir de las

técnicas disponibles para usar analítica de datos. Gracias a que existe una documentación robusta

de cada solución open source de Apache y a una comunidad activa que debate y ayuda con los

posibles problemas de implementación, se facilita el uso y aplicación del concepto de Big Data

sobre cualquier entorno de trabajo lo que se resume en una mejora constante de las configuraciones

y arquitecturas definidas en cada proyecto.

Así mismo, con la gestión de la información en un modelo de Big Data, se logra identificar

constantemente oportunidades de mejora, de una forma rápida y eficaz, en cuanto al cómo se trata

los datos entrantes de las diferentes fuentes y que se puede lograr con los resultados de procesar

dichos datos.

Page 109: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

102

RECOMENDACIONES

Al momento de iniciar cualquier proyecto de Big Data es necesario considerar la capacidad de

inversión en recursos físicos, ya que a pesar de que la licencia de la mayoría de los productos

asociados es Open Source cada nodo debe contar con un mínimo de memoria y procesador para

su correcto funcionamiento, por lo tanto, si no se hace una planeación adecuada para la adquisición

de recursos puede que el proyecto quede parado en algún punto o no cumpla con las expectativas

planteadas.

Otro punto importante es la verificación de los parámetros de seguridad en la red. En ocasiones

la ejecución o acceso a los servicios disponibles en Hadoop no se logra completar por los bloqueos

en los puertos en el Firewall de las organizaciones, es por esto que se debe trabajar en conjunto

con las áreas de seguridad y redes para garantizar un correcto despliegue de una solución de Big

Data. Así mismo, no hay que olvidar que en caso de contar con los certificados SSL el puerto

puede variar para la comunicación entre las diferentes herramientas y el acceso a los servicios.

En cuanto al despliegue de cada uno de los nodos dentro de un modelo de Big Data con Hadoop,

es recomendable revisar más a profundidad las opciones de configuración y servicios que ofrece

el proyecto Docker. Uno de los conceptos a tener en cuenta es conocido como Kubernetes, el cual

es usado para la automatización de despliegue de contenedores lo que permitiría optimizar al

administrador los temas relacionados con escalabilidad y tolerancia a fallos lo que finalmente se

encuentra dentro de la filosofía de lo que es Hadoop.

Page 110: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

103

BIBLIOGRAFÍA

Amazon (s.f.). Apache HBase en Amazon EMR. Recuperado de

https://aws.amazon.com/es/emr/details/hbase/

Apache Org. (2018). Apache Hadoop 3.2.0. Recuperado de

https://hadoop.apache.org/docs/r3.2.0/

Apache Org. (2018). Apache HIVE. Recuperado de

https://cwiki.apache.org/confluence/display/Hive/Home

Apache org. (2019). Dowload Hadoop. Recuperado de

https://hadoop.apache.org/releases.html

Apache org. (2019) YARN. Recuperado de

htt.ps://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html

Bertolucci. J. (2013). Big Data Analytics: Descriptive Vs. Predictive Vs. Prescriptive.

Recuperado de https://www.informationweek.com/big-data/big-data-analytics/big-data-

analytics-descriptive-vs-predictive-vs-prescriptive/d/d-id/1113279

Colombia compra eficiente. (2019). SECOP. Recuperado de

https://www.colombiacompra.gov.co/

Consejo Nacional De Política Económica Y Social. (2018) POLÍTICA NACIONAL DE

EXPLOTACIÓN DE DATOS (BIG DATA). Recuperado de

https://colaboracion.dnp.gov.co/CDT/Conpes/Econ%C3%B3micos/3920.pdf

Cloudera. (2019). Cloudera Documentation. Recuperado de

https://docs.hortonworks.com/

Cloudera Engineering Blog. (2013) How HiveServer2 Brings Security and Concurrency

to Apache Hive. Recuperado de https://blog.cloudera.com/blog/2013/07/how-hiveserver2-

brings-security-and-concurrency-to-apache-hive/

Docker. (2019) La plataforma moderna para la innovación de alta velocidad. Recuperado

de https://www.docker.com/why-docker

Escuela de datos. (2016). Introducción a la extracción de datos de sitios web: scraping.

Recuperado de https://es.schoolofdata.org/introduccion-a-la-extraccion-de-datos-de-sitios-

web-scraping/

Gartnet. (s.f.). Big Data. Recuperado de https://www.gartner.com/it-glossary/big-data

Page 111: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

104

Glez J. M. (2014). Introducción a la Analítica de Datos (I). Recuperado de

https://www.analiticaweb.es/introduccion-a-la-analitica-de-datos-i/

Glosario-over-blog.es. Leyes sobre software Libre en Colombia (2010) Recuperado de

http://glosario.over-blog.es/article-leyes-sobre-software-libre-en-colombia-59255157.html

Instituto de Ingeniería del Conocimiento (IIC, 2016). 7 Herramientas Big Data para tu

empresa. Recuperado de http://www.iic.uam.es/innovacion/herramientas-big-data-para-

empresa/

KienyKe (2017). Analítica de datos ¿qué es y cómo vamos en el tema de Colombia?

KienyKe Tecnología. Recuperado de

https://www.kienyke.com/tendencias/tecnologia/analitica-de-datos-que-es-y-como-vamos-

en-el-tema-de-colombia

La Vanguardia. (2018) Un proyecto europeo de big data servirá para controlar los

contratos públicos. Recuperado de

https://www.lavanguardia.com/vida/20180119/44120927162/un-proyecto-europeo-de-big-

data-servira-para-controlar-los-contratos-publicos.html

LinOxide. (2018). 2 Ways to SSH into a Running Docker Container. Recuperado de

internet https://linoxide.com/linux-how-to/ssh-docker-container/

Microsoft (2019). Hive OBDC Driver. Recuperado de https://www.microsoft.com/en-

us/download/details.aspx?id=40886

Medium. (2018) Some tips to run a multi-node Hadoop in Docker. Recuperado de

https://medium.com/@rubenafo/some-tips-to-run-a-multi-node-hadoop-in-docker-

9c7012dd4e26

Mujumdar (2019). How HiveServer2 Brings Security and Concurrency to Apache Hive.

Recuperado de https://blog.cloudera.com/blog/2013/07/how-hiveserver2-brings-security-

and-concurrency-to-apache-hive/

Oracle (2018). JPS – Java Virtual Machine Process Status Tool. Recuperado de

https://docs.oracle.com/javase/7/docs/technotes/tools/share/jps.html

Oracle. (s.f). ¿Qué es Big Data?. Recuperado de https://www.oracle.com/co/big-

data/guide/what-is-big-data.html

Packt. (2015) Hadoop and MapReduce. Recuperado de https://hub.packtpub.com/hadoop-

and-mapreduce/

Programa de transformación productiva. Formación en BigData. Recuperado de

https://www.ptp.com.co/ptp-servicios/ptp-convocatorias/para-empresas/ptp-busca-60-

personas-del-sector-bpo-software-y-ti

Page 112: MODELO DE REFERENCIA PARA LA GESTIÓN DE PROCESOS ...

105

Raymond Tang. (2017). Default Ports Used by Hadoop Services (HDFS, MapReduce,

YARN). Recuperado de https://kontext.tech/docs/DataAndBusinessIntelligence/p/default-

ports-used-by-hadoop-services-hdfs-mapreduce-yarn

Red Hat. (2019). Contenedores ¿Qué es DOCKER? Recuperado de

https://www.redhat.com/es/topics/containers/what-is-docker

Reíta Reyes, J. E. y Salinas Hernandez, H. J. (2016). Análisis de la viabilidad de la

implementación de redes Big Data en Colombia (Tesis de pregrado). Recuperado de

http://repository.udistrital.edu.co/bitstream/11349/4018/1/Big-data-FINAL-SI-1-

1%20%281%29.pdf

Rojo, A. El ciclo de Deming o círculo PDCA. Recuperado de

https://www.sbqconsultores.es/el-ciclo-de-deming-o-circulo-pdca/

Stefaan Lippens (2018). Hadoop 3 default ports. Recuperado de

https://www.stefaanlippens.net/hadoop-3-default-ports.html

The Apache Foundation. Licencia Apache, Versión 2.0 (2019) Recuperado de

https://www.apache.org/licenses/LICENSE-2.0

Thilina Gunarathne (2015). Hadoop and MapReduce. Recuperado de

https://hub.packtpub.com/hadoop-and-mapreduce/

Vidal, Palacios y Zambrano. (2013). SELENIUM MANUAL DE INSTALACIÓN Y

USO. Recuperado de

https://campusvirtual.univalle.edu.co/moodle/pluginfile.php/486657/mod_folder/content/0/

ManualSelenium.pdf?forcedownload=1