El BigData no es tan complicado


¿Qué es el BigData? ¿Cuales son los objetivos del uso de las tecnologías BigData? ¿Le hace falta el BigData a mi empresa? ¿Conoces alguna herramienta de BigData?

El análisis de datos es una necesidad cada vez más importante en la Industria 4.0.

Hoy en día es fácil tener mucha información, ser capaz de generarla o tener la necesidad de consumirla. Pero también hay que saber cuando tiene sentido usar herramientas BigData y cuando no.

Si tenemos un volumen alto de datos y tenemos que gestionarlos, es necesario tener conocimientos de las herramientas existentes.

El principal objetivo del uso de las tecnologías BigData es el de transformar los datos en información útil para la empresa. Para ello se necesitan herramientas BigData que ayuden a analizar, procesar y almacenar todos los datos que se generan.

Un gran número de entre las mejores herramientas usadas en BigData son open source, lo que da fe del éxito de este modelo de desarrollo, además de las alternativas de pago.

Siempre que escuchamos hablar de BigData tenemos una visión genérica, teórica y poco práctica. En este artículo me he propuesto acercar un poco más este mundo a la gente interesada.

Si no tienes una herramienta de BigData en tu empresa, no pasa nada (aún). Pero puedes estar seguro que la competencia la está utilizando y pronto te dejará atrás.

El panorama actual en cuanto al análisis de datos es muy alentador para los profesionales del sector. Las empresas se han visto inundadas con enormes cantidades y variedad de datos.

Y esto ha hecho que sea necesario procesarlos para obtener el máximo rendimiento. Por este mismo motivo, se han elevado las expectativas para el análisis de datos en el menor tiempo posible.

A continuación muestro una selección de herramientas que ofrecen soluciones para la explotación de datos.

Hadoop

La biblioteca Hadoop utiliza modelos de programación simples para el procesamiento y almacenamiento de grandes cantidades de datos. Esto lo hace en clusters redundantes para no perder nada y, al mismo tiempo, aprovechando muchos procesos a la vez a través de varias máquinas conectadas.

Esta una herramienta BigData open source se considera el framework estándar para el almacenamiento de grandes volúmenes de datos. Además, Hadoop se usa para analizar y procesar datos.

Haddoop dispone de un sistema de archivos distribuido en cada nodo del cluster. El claster es denominado HDFS (Hadoop Distributed File System), y se basa en el proceso de MapReduce de dos fases.

Al mismo tiempo, Hadoop soporta diferentes sistemas operativos y es utilizado frecuentemente sobre cualquiera de las principales plataformas en cloud.

La plataforma Hadoop fue diseñada para superar fallos y errores en la capa de aplicaciones, proporcionando de este modo una alta precisión en el procesamiento de datos.

Sin embargo, podemos achacar a Hadoop que no está pensada para hacerlo en tiempo real, debido a la alta latencia que posee.

MapReduce

El nombre MapReduce proviene de los términos, “Mapa” y “Reducir”. MapReduce es un motor de computación que permite escalabilidad casi ilimitada, expandiendose a miles de servidores en un clúster Hadoop.

El primer témino (“Mapa”) viene a ser la conversión de un conjunto de datos original en otro que se obtiene al descomponer los datos y crear pares de datos (clave/valor).

El segúndo término (“reducir”) es tomar los datos del “mapa” y combinarlos en pares clave/valor más pequeños.

Yarn

Yarn es la evolución de MapReduce para Hadoop 2.0. Este software es el encargado de distribuir el trabajo a hacer, teniendo en cuenta donde están los datos a procesar. Por otro lado gestiona las propias ejecuciones de los programas.

La función de Yarn en Hadoop es proporcionar un entorno que gestione los recursos de las máquinas para realizar trabajos de computación.

Yarn permite separar el sistema de ficheros y el sistema de ejecución. Por lo tanto, se puede utilizar HDFS sin pasar por Yarn o bien usarlo como gestor de recursos para correr aplicaciones.

HBase

HBase se puede considerar “la base de datos” de Hadoop. Proporciona la capacidad de crear tablas con millones de entradas y permite hacer accesos de lectura/escritura rápida y consistentemente.

HBase es no-relacional y versionada, lo que le permiter una gran flexibilidad. Además es fácilmente conectable mediante web services o de API’s java.

Gridgain

Gridgrain es una herramienta BigData que proporciona métodos dinámicos de computación y almacenamiento.

Esta herramienta realiza acciones tales como la agrupación dinámica, procesamiento MapReduce, mensajería distribuida, ejecución de cierre distribuido, tolerancia a fallos, balanceo de carga y escalabilidad lineal.

Apache Storm

Es una de las herramientas más populares. Apache Storm es una herramienta de código libre y abierto.

Apache Storm es un sistema distribuido en tiempo real, orientado a procesar flujos constantes de datos.

Es fácil de usar y puede ser integrada con cualquier lenguaje de programación. Apache Storm ofrece una interfaz fácil, amigable y fiable. Esta herramienta permite procesamiento en tiempo real en procesamiento por lotes batch

Apache Spark

Apache Spark es un motor de procesamiento de datos de código abierto y a gran escala rápido y fácil de usar.

Se pueden programar aplicaciones usando diferentes lenguajes como Java, Scala, Python o lenguaje R.

Es un software open source de programación distribuida. Esta programación permite distribuir el trabajo computacional entre un grupo de máquinas, o “cluster”, que trabajan como una sola.

Según las aplicaciones, Apache Spark puede ser más rápido que Hadoop MapReduce; llegando a ser 10 veces más rápido en disco o 100 veces más rápido en memoria.

Esta herramienta permite combinar SQL, streaming y librerías analíticas avanzadas, MLlib para machine learning, GraphX y Spark Streaming.

Puede funcionar sobre Hadoop, Mesos, formato standalone, o en cloud. Permite acceder diversas fuentes de datos como HDFS, Cassandra, HBase y S3.

Apache hive

Apache Hive es una infraestructura datawarehouse para Hadoop.

El software Apache Hive facilita la consulta y gestión de grandes cantidades de datos residentes en un almacenamiento distribuido.

La funcionalidad principal es proporcionar resumenes de datos, análisis y consultas.

Además, permite estructurar los datos y consultarlos utilizando un lenguaje similar a SQL, llamado HiveQL.

Apache Kafka

Apache Kafka es un sistema de publicación distribuida, diseñado para permitir que un solo grupo de datos sirva como la columna vertebral para una organización.

Un único broker de Kafka puede manejar cientos de megabytes por segundo de lecturas y escrituras en miles de clientes.

Apache Kafka puede ser ampliado de manera flexible y transparente al resto del sistema en modo producción.

Apache Flume

Al igual que Apache Kafka, Apache Flume es un servicio distribuido. Es fiable para la recogida, agregación y transferencia de grandes conjuntos de datos de manera eficiente.

Cuenta con una arquitectura flexible y simple, basada en la transmisión de flujos de datos.

HPCC

HPCC (High-Performance Computing Cluster o Clustering Computacional de Alto Rendimiento) es otra herramienta de BigData. Es conocida por ofrecer un mayor rendimiento que Hadoop en determinados entornos. Por otro lado, tiene un apoyo de la comunidad programadora de todo el mundo.

Nos podemos encontrar esta herramienta en versión gratuita o de pago.

MongoDB

Con un concepto muy diferente al de las bases de datos relacionales (se podría decir que de las bases de datos NoSQL, esta es probablemente una de las más famosas), se está convirtiendo en una alternativa para el almacenamiento.

MongoDB es una BB.DD. guarda los datos en documentos, no en registros (BB.DD. orientada a documentos). Estos documentos son almacenados en BSON, que es una representación binaria de JSON.

Gracias a sus opciones de replicación y sharding, MongoDB puede conseguir un sistema que escale horizontalmente, sin demasiados problemas.

Hana

En un mundo interconectado, todo tiende al análisis de datos en tiempo real. Hanna es una herramienta de BigData que proporciona una de las soluciones más rápidas y asequibles.
SAP ha sido el campeón del enfoque in-memory con su plataforma Hana

Elasticsearch

Elasticsearch es una potente herramienta para la búsqueda entre grandes cantidades de datos de tipo complejo.

Esta herramienta permite indexar y analizar en tiempo real un gran volumen de datos y hacer consultas sobre ellos.

Con Elasticsearch se pueden hacer búsquedas de texto complejas, visualizar el estado de los nodos existentes y escalar sin demasiadas recursos.

Python

Python es un lenguaje avanzado de programación. La ventaja de este lenguaje es ser relativamente fácil de usar para programadores profesionales y aficionados, pero que necesitan realizar análisis de datos.

Es una herramienta para BigData muy eficiente, en parte debido a la gran comunidad existente. Por su popularidad, Python dispone de muchas librerías ya creadas por los usuarios.

Sin embargo, Python tiene en su contra que es un lenguaje lento de ejecución. Por este motivo, suele ser empleado para tareas de integración donde los cálculos sean simples.

Lenguaje R

R es un lenguaje de programación y entorno de software para cálculo estadístico y gráficos. Es de los más usados por los profesionales en la minería de datos, la investigación bioinformática y las matemáticas financieras.

R se parece más al lenguaje de las matemáticas que a un lenguaje de programación. Esto puede ser un inconveniente para los programadores a la hora de utilizar el R para programar aplicaciones de BigData.

Conclusiones

Nos encontramos rodeados de tecnologías de la información (TI) y la cantidad de datos aumenta de manera exponencial. Lo que hoy hablamos en megabytes y gigabytes pasarán a ser de petabytes de información disponible en los próximos años.

Las empresas que manejan una cantidad y variedad elevada de datos deben tranformalos en información, lo que hace necesario el uso de tecnologías BigData

Las herramientas que ofrecen soluciones para la explotación de software de BigData en todos sus procesos nos permiten almacenamiento, procesamiento y análisis de los datos que tenemos en nuestras organizaciones.

Antes de nada, debemos tener clara una cosa: BigData es para tratar grandes volúmenes de datos.

El BigData aparece cuando se desea pasar de los datos a la información, quedandonos lo que es más relevante y pasar de todo lo demás.

Toda información sirve en algún momento y nos permite ver cosas que a simple vista pasan desapercibidas.

En el cuerpo del artículo, hemos visto solo una pincelada de las herramientas que se usan para BigData. Dominarlas es cuestión de horas y de práctica.

Fuentes:

10 herramientas para manejar BigData Analytics
7 Herramientas BigData para tu empresa
¿Qué herramientas necesitas para iniciarte en BigData?

Manufacturing Technology Program

Deja tu opinión

Si te ha resultado útil el artículo. O crees que el contenido es de valor. Si tienes alguna sugerencia u opinión… Te agradezco que dejes un comentario o te pongas en contacto conmigo. De esta forma entre todos iremos mejorando un poco más cada día. Cultiva una cultura Kaizen. Gracias
Contacto

¿Por qué compartir este contenido?

Desde mi punto de vista, compartir conocimiento significa entender la vida desde un punto de vista proactivo. Debido a que nuestro conocimiento está estrechamente ligado a nuestra identidad.

Quizás a veces te hayas preguntado por qué compartir contenido.

Knowledge Transfer

Hoy, más que nunca, compartir es tremendamente sencillo, fácil y accesible. Compartir nos hace sentir generosos y desinteresados, Nos convierte en una fuente emisora de contenido de valor.

Está genial aprovechar conocimiento de los demás, pero ¿no es genial invertir eso y aportar el tuyo también?

Desde aquí me gustaría pedirte que compartas este artículo. Me ayudarás a difundir mis ideas y a hacer mi aportación al mundo un poco más grande.

Deja un comentario