BIG DATA : Definición, ecosistema y aplicación

Christian Zevillanos Begazo

“Análisis de Data que era previamente ignorada por limitaciones de la tecnología” - Matt Aslett

INTRODUCCION

Actualmente nos rodea la información, no somos conscientes de la huella digital que dejamos disponible para ser aprovechada por gigantes compañías. Pero como estas logran conocer nuestros intereses, patrones de compra, hobbies e incluso se adelantan a sugerirnos decisiones con un porcentaje altísimo de aceptación por parte del individuo.

Big data divertida

DEFINICIÓN

Pues Big Data es la ciencia digital responsable de captar, ordenar, almacenar y analizar grandes volúmenes de información (peta-bytes/by day) provenientes de diversas fuentes. Con la finalidad de obtener insights para poder entender al cliente y su comportamiento y así ser capaz de proveer un servicio o producto específicamente dirigido.

Luego de haber definido Big data es necesario profundizar en las características. Comúnmente se logra por medio de las 4 V’s del Big data.

  1. Volume: Se refiere a la acumulación de gran cantidad de datos que se acumulan diariamente en una empresa. El verdadero reto no está en saber recopilar dicha información, sino en desarrollar un método continuo de recopilación y gestión del dato en directo.
  2. Variedad: Se refiere a las diferentes fuentes y tipos de datos tanto estructurados como no estructurados provenientes no solo de personas, sino de máquinas, sensores, software, etc. Esta variedad en datos no estructurados crea problemas de almacenamiento, minería de datos y análisis de la información.
  3. Velocidad: Se refiere a la rapidez a la que se generan los datos en la actualidad. Y a su vez a lo rápido que estos pierden utilidad
  4. Veracidad: Se refiere a la calidad, la predictibilidad y la disponibilidad del dato. Es la variable menos uniforme y menos sencilla de controlar, debido a la dificultad de cerciorarnos de que un dato es 100% fiable.

ECOSISTEMA

Debido a las características que tiene la Big Data (4 V’s) es necesario disponer de herramientas lo bastante potentes para procesar y almacenar grandes volúmenes de información. Y debido a que la tecnología avanza rápidamente, cada vez aparecen nuevas herramientas de diversas compañías que nos ofrecen nuevas suites para ello. Se presentará una sucinta descripción de cada uno de ellos.

1. Ingesta

Tecnología orientada a recolección de datos desde su origen, ya sea de bases de datos tradicionales o de flujos continuos a través de la red.

  • Flume: Servicio para recolectar de forma eficiente grandes volúmenes de datos. Tiene una arquitectura flexible y tolerante a fallos.
  • Sqoop: Herramienta diseñada para transferir de forma eficiente grandes paquetes de datos y bases de datos relacionales.

2. Almacenamiento

Tecnología capaces de guardar y gestionar grandes volúmenes de datos, en este grupo estarían las bases de datos NoSQL.

  • Hadoop HDFS: Sistema distribuido de ficheros. Ofrece alto rendimiento y soporta archivos de gran tamaño. Tolerante a fallos y una de las piezas mas importantes de Hadoop.
  • Cassandra: Base de datos NoSQL linealmente escalable. Sigue una arquitectura de anillo sin nodo maestro.

3. Gestion de recursos

Tecnologías diseñadas para planificación y asignación de los recursos del clúster.

  • Yarn: Es un componente de Hadoop responsable de manejar recursos de computación del clúster, planificar el trabajo de los usuarios y las aplicaciones .

4. Motores de procesamiento

Corazón de la tecnología Big Data, son capaces de realizar el cómputo de manera distribuida entre varios nodos de computación y realizar operaciones costosas en tiempos pequeños.

  • Hadoop MapReduce: Está diseñado para trabajar sobre HDFS, procesando los datos en paralelo de acuerdo al paradigma Map/Reduce. Está orientado al procesamiento de trabajos en batch y hace un uso intensivo del disco lo que penaliza su rendimiento.
  • Spark: Es un framework para procesamiento distribuido posterior a Hadoop, fue diseñado desde cero pensando en sustituir el componente MapReduce. Soporta un conjunto mayor de transformaciones que pueden ser ejecutadas en paralelo. Trabaja intensivamente en memoria lo que lo hace hasta 100 veces más rápido que Hadoop MapReduce. Soporta procesamiento en streaming.

5. Mensajería

Tecnologías que nos permiten el intercambio de datos entre los diferentes componentes software de manera eficiente

  • Kafka: Está diseñado para manejar cientos de MB de mensajes por segundo, generados y consumidos por miles de clientes y ordenados en “topics”. Es escalable gracias a que puede ejecutar a lo largo de un cluster de nodos.

6. Consulta

Tecnología orientada a simplificar el acceso a los datos, generalmente se basan en los motores de procesamiento para realizar las consultas de manera eficiente.

  • Spark SQL: Módulo incluido en Spark para trabajar datos estructurados usando una sintaxis de estilo SQL, pero aprovechando las ventajas de ejecutar sobre el core de Spark.
  • Hive: Nos ofrece un conjunto de herramientas para leer, escribir y manejar datos sobre Hadoop con una sintaxis similar a SQL.

7. Machine Learning

Tecnologías que implementan algoritmos para clasificar, predecir o perfilar. Se basan en los motores de procesamiento paralelo de los que aprovechan su capacidad de realizar cálculos complejos muy rápido.

  • Spark Mlib: Framework que incluye algoritmos de machine learning implementados sobre Spark y aprovechando de esta manera las ventajas del cálculo distribuido y el trabajo intensivo en memoria que nos ofrece Spark.

APLICACION

Se trabajará con una base de datos del estado acerca de llamadas realizadas a la Linea 100 — Programa Nacional Contra la Violencia Familiar y Sexual, recopiladas por provincias desde el 2012. Se utilizará los campos relacionados a llamadas registradas que a su vez están separados en género y el tipo de violencia denunciada (física, psicológica, sexual y económica). Si bien se tiene los datos separados por edades y género, no están debidamente llenados.

Codigo realizado en spark sobre Databrick: Enlace

Se llegó a los siguientes Insights:

  1. De ordenar el Dataframe por Departamentos con los porcentajes totales de llamadas y porcentajes relativos de llamadas por Genero, se obtiene que en general en el Perú los hombres que denuncian algún tipo de violencia no sobrepasan el 20%, a excepción de Huancavelica (26%). Y que , dejando los outsiders (Lima Met. y Lima), el callao y La Libertad son los que presentan mayor denuncias de Violencia.
  2. De ordenar el Dataframe por Año con los porcentajes totales de llamadas y porcentajes relativos de llamadas por Genero, se obtiene que se ha aumentado en casi 50%casi , desde el 2012, la cantidad de denuncias realizadas. Además, que las denuncias realizadas por hombres han aumentado(9% a 16%)con respecto a las denuncias presentadas por mujeres (91% a 73%). Si bien aun es considerable la diferencia, se puede notar ligeramente la variación.
  3. De ordenar el Dataframe por Departamentos con los acumulados de tipos de violencia registrada en todo el periodo (2012–2019), se obtiene que (dejando de lado los outsiders)en :
    - Piura se reportan mas denuncias por violencia Física( 9075)
    - La Libertad se reportan mas denuncias por violencia Psicológica(5754)
    - Callao se reportan mas denuncias por violencia Sexual(1423)
    - Callao se reportan mas denuncias por violencia económica (23)
  4. De ordenar el Dataframe por Año y Departamentos con la Mayor cantidad de reportes de Genero y tipo de violencia, se obtiene que en Lima metropolitana han aumentado considerablemente en los últimos 4 años los reporte de violencia de hombres con respecto a las otras provincias. Si bien en las reportes de violencia de mujeres es un numero considerablemente alto, se han mantenido similiares en lima metropolitana, incrementandose en La Libertad, Arequipa y Piura. Por otro lado, la violencia sexual reportada ha aumentado considerablemente en Arequipa, Junín y Piura con respecto a años anteriores.

--

--