Internet of Things (IoT) y su aportación al Big Data

Big-Data-a-Necessity-In-The-Times-of-IoT

15 de agosto de 1996, sale al mercado el primer teléfono móvil con capacidad de navegación por Internet, el Nokia 9000 Communicator. Este dispositivo contaba con la desorbitada cantidad de 8 MB totales. Orientado a un mercado profesional únicamente suponía una revolución hasta nuestros días, 20 años después, en el que casi todos tenemos un smartphone. Es la era del Internet of things.

En estos 20 años han salido numerosos smartphones que nos hacen la vida más fácil o más complicada, según se mire, pero que forman parte de nuestro día a día.

Si esto nos parecía poco ya empieza a ser habitual que tengamos una Smart-tv, dispositivos wearables como pulseras de actividad, coches con conexión a Internet y nuevos componentes que en poco tiempo son o serán parte de nuestra vida domótica (carreteras, alumbrado, semáforos, cámaras, puertas de seguridad, etc.).

Implicaciones del IoT

Según numerosos estudios para el año 2020 se espera que haya entre 25 mil y 35 mil millones de dispositivos en el mundo Internet of Things (IoT) con una tasa de crecimiento anual de un 40%.

Estos dispositivos orientados al público en general, a empresas y a administraciones públicas ayudarán a tomar mejores decisiones gracias a los datos que generan y a la información que podemos extraer de ellos.

Negocios del Internet of Things

Los dispositivos IoT ya empiezan a estar asentados en los negocios tradicionales como se muestra en la siguiente imagen, y lo estarán en pocos años en negocios que hoy todavía ni existen.

Negocios-Internet-Of-Things

Un claro ejemplo es la start-up tecnológica Ingran Engineering es (Internet de las cosas) y el del bombeo de agua, mediante telemedida y telecontrol de bombeos de agua en busca de ahorros y optimización de la instalación => Blog ingran.es

Datos – Big Data

El contar con tantos dispositivos que generan y consumen datos aportará a cada negocio y al usuario final múltiples detalles sobre los mismos como los siguientes:

  • Número de vehículos que circulan por una zona haciendo uso de sensores de semáforos
  • Niveles de contaminación gracias a los sensores de concentración de aire
  • Número de farolas que necesitan revisión gracias a los sensores en bombillas o puntos de luz.

A priori podríamos pensar en montar modelos basados en bases de datos relacionales, ir guardando datos y luego procesarlos de manera tradicional, pero eso sería inviable por las tres características que tienen los datos Big Data: Volumen, Velocidad y Variedad.

Para manejar la cantidad de datos generada, la frecuencia con la que se crean y los diferentes formatos necesitamos crear modelos basados en Big Data.

Pongamos como ejemplo un avión bimotor Boeing 737. Este tipo de avión genera 20 TB de datos por hora sobre el funcionamiento. Teniendo en cuenta que tiene 2 motores estaríamos hablando de 40 TB de datos por hora de vuelo. Si a esto añadimos la medición de un vuelo de 6 horas de Nueva York a Los Ángeles y contamos con unos 28000 vuelos que cruzan EE.UU. cada día nos encontramos con que tenemos el siguiente volumen de datos diario:

6.720.000 TB

Multiplicando este dato por los 365 días del año, en 2016 son 366 nos da el siguiente resultado:

2.459.520.000 TB = 2.459.520 PB = 2.459,52 EB = 2,4595 ZB

Como vemos estaríamos hablando de una cantidad de datos de 2,4595 Zettabytes anuales sólo con lo extraído de los sensores de cada avión Boeing 737. Pensemos en la cantidad de modelos de avión que hay, el número de vuelos a nivel mundial y sólo estaremos viendo los datos generados por vuelos de avión. Añadamos posteriormente sensores climáticos, de edificios, de industria, de salud, etc., etc.

Conclusión

El mundo Internet of Things nos proporciona numerosos productos (Things) que nos ayudan en nuestra vida diaria, pero plantear este tipo de proyectos nos obliga a contar con necesidades de almacenamiento, tratamiento y análisis de datos no vistos hasta ahora.

Como dijo Nikola Tesla en 1926, inventor, ingeniero eléctrico y mecánico, físico y reconocido por el diseño del sistema de suministro de electricidad con corriente alterna (AC), “Cuando el Wireless esté perfectamente aplicado en toda la Tierra nos convertiremos en un gran cerebro, seremos capaces de comunicarnos con otros de manera instantánea, sin importarnos la distancia y con instrumentos que podremos llevar en nuestros bolsillos”.

Hasta el proximo post amig@s 🙂

Fuentes: http://www.bit.es

 

Anuncios

Apache Hadoop (V) – HIVE Consultas “tipo SQL” sobre Hadoop

hive_logo
¿Un elefante-abeja? WTF!

 

Seguimos con los componentes de Hadoop. Hoy es uno de los más importantes y quizás más sencillos de instalar y configurar una vez tenemos nuestro clúster de hadoop bien montado.
 

Este post dará nociones básicas sobre HIVE pero no entraré en la instalación y configuración, puesto que es muy sencilla.

¿Qué es HIVE?

Hive es almacén de datos creado específicamente para Hadoop que nos facilita la tarea de sumarizar los datos pre-existentes en HDFS. La idea principal de Hive es la de funcionar como capa externa a Hadoop a modo de envoltorio, donde vamos a poder realizar consultas sobre el sistema de archivos que serán tratadas como MapReduces en modo nativo en HDFS.

Para poder realizar estas operaciones, los de Apache crearon un lenguaje de consultas a “base de datos” (recordemos que HDFS es un sistema de ficheros) muy similar a SQL, que denominaron HiveQL o HQL (dependiendo de en que libro lo leas lo verás de una manera u otra).

El corazón de esta idea se basa en el denominado MetaStore, que es un “lugar” donde se van a ir guardando toda la información relacionada con las operaciones en Hive, por lo tanto el día que queráis formatear Hive, deberéis borrar dicho directorio para tenerlo como el primer día.

Es una herramienta que utilizan en facebook y los chic@s de Hortonworks nos explican como se manejan con este componente.

Características especiales de Hive

Al ser una capa de alto nivel de un sistema de ficheros HDFS, hay algunas operaciones “tipo SQL” que son especiales en Hive. En concreto las operaciones de crear tablas que tiren de HDFS y la de carga de datos en Hive pueden ser ejemplos de ello:

Crear una tabla que “tire” de HDFS:

CREATE TABLE tablaDePrueba (campo1 string, campo2 int)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘;’
LINES TERMINATED BY ‘\t’
STORED AS TEXTFILE;

Cargar datos en la tabla:

LOAD DATA INPATH ‘/datos/pruebas/test/tablaPruebas’ OVERWRITE INTO TABLE tablaDePrueba;

Consulta a tabla:

SELECT campo1,campo2 FROM tablaDePrueba LIMIT 100 ORDER BY campo2 DESC;

También podemos hacer consultas a tablas que se encuentren en HBase (con el fin de no tener que realizar bulks loads a Hive de ficheros de texto plano), pero la penalización por la latencia es tan alta, que para que realmente nos sea rentable usar la combinación Hadoop + HBase + Hive necesitaremos un clúster enorme, de cientos de nodos (cosa que debe pasar en Facebook).

Y por hoy es todo. ¿Ha sido fácil eh? 🙂

b0e3cb28debd0cc08f2bb5482c638b51

Fuentes:

 

Hadoop Apache (III) – Zookeeper

 

_hadoopelephant_rgb1
La tipografía me recuerda a la F1 de los 80.

 

Integrations-ApacheZookeeper-340x216
¡El tipo este es un currito de mantenimiento de un Zoo! (tiene que oler a elefante amarillo fijo)

 

Vamos a ir a definiciones, pondré direcciones donde se puede obtener documentación sobre instalación y configuración.

¿Qué es Zookeeper?

Es un servicio centralizado que nos permite mantener conexiones estables entre servidores con distintas tecnologías. Nos provee de una interface simple para mantener la consistencia de datos y además es altamente personalizable.

¿Cómo funciona?

Básicamente realizáis la instalación de Zookeeper en unos servidores con Linux. Consiste en bajar la versión estable y descomprimirla. La configuráis a vuestro gusto, eligiendo el número de “gemelos” que vais a querer tener a la escucha. Una vez establecidos los sincronizais entre servidores y listo.

Un Up&Running de libro es: https://zookeeper.apache.org/doc/r3.4.8/zookeeperProgrammers.html

¿Qué tiene que ver con Hadoop?

Nos permitirá tener conectividad entre HBase y HDFS de Hadoop, para poder ejecutar los MapReduce correspondientes, por ejemplo.

Links

Aquí tenéis su página oficial: http://zookeeper.apache.org/

Algunos ejemplillos rápidos: http://es.wikipedia.org/wiki/Apache_ZooKeeper#Ejemplos_de_uso_t.C3.ADpicos

Es un post rápido, pero con info interesante.

Nos vemos en el siguiente post amig@s 🙂