sábado, 21 de enero de 2017

La revolución en el tratamiento de la información en 2017


Se ha escrito muchas líneas sobre que este año recién comenzado va a producirse una autentica revolución en el tratamiento de la información. La penetración cada vez más intensa del Big Data en las empresas, la utilización del machine learning y la inteligencia artificial en la customer experience y la creación de factorías de elaboración de algoritmos a gran escala va a suponer un cambio de paradigma en el mercado tecnológico y su relación con las empresas.

Uno de las conclusiones claras de todos estos cambios es que la tecnología esta yendo más rápida que nosotros mismos. Y donde este terremoto tecnológico se hace más evidente es el mundo del tratamiento de la información. Cada vez salen más herramientas y componentes que abren nuevas posibilidades para sacar valor y conocimiento a la información. Muchas de estas tecnologías están asociadas al  denominado Big Data, pero yo , al igual que Eduardo Valencia, autor del interesante libro Data Coaching, considero necesario hablar ya de tecnologías de tratamiento de datos en general y dejar atrás el término BIG de Big Data. ¿Y qué nuevas oportunidades abren estas nuevas tecnologías? Voy a contar algunas de las que me parecen más interesantes:


  • El dato como elemento central de las decisiones de las compañías. Cada vez existen más proyectos de data driven company. En estas compañías se implementa la democratización de la información, la analítica avanzada y el autoservicio de  la información para la ayuda en la toma de decisiones. En estos proyectos el gobierno del dato, el cambio cultural , la aparición de nuevos roles orientados a los datos, el establecimiento de métricas y metodologías para que los datos fluyan a través de las diferentes áreas resultan elementos claves. 

  • Análisis facial, gestual y de sentimientos a través de técnicas de deep learning para anticipar comportamientos en las personas y determinar perfiles más exactos, utilizando sus huellas digitales. Sus aplicaciones en el mundo empresarial son cada vez más demandadas, ya que permiten conocer mejor a sus clientes, al mercado y los competencias. Muy interesante el proyecto Open Face https://cmusatyalab.github.io/openface/  una aplicación Python y Torch de reconocimiento facial con redes neuronales basada en el CVPR 2015. Ejemplos interesantes de esta tecnologías aplicadas al mundo retail los podemos ver en este vídeo: https://www.youtube.com/watch?v=XJfN_PQMvUc 

  •  Nuevas formas de visualización de los datos  provenientes del Big Data. Integración de la realidad virtual en las capas de visualización, visualización en tiempo real o visualización de eventos complejos. La creatividad en la visualización de los datos permite analizar en una sola pantalla  correlaciones impensables en los mismos con las tecnologías tradicionales, En el siguiente artículo podemos ver como la VR revoluciona el Data Visualization: http://www.forbes.com/sites/bernardmarr/2016/05/04/how-vr-will-revolutionize-big-data-visualizations/#705946bf4ac5  La idea no es nueva, VR ha estado alrededor de la explotación de los datos pero resultaba una herramienta costosa. Hace varios años, los ingenieros de Goodyear trabajaron con el pionero de la VR, el Dr. Robert Maples, para desarrollar una simulación completa de sus neumáticos de competición basada en su conjunto de datos históricos. La simulación permitió que los efectos de cada pequeño cambio variable en el rendimiento del neumático fuera modelado y visualizado en tiempo real VR. El objetivo de la simulación era encontrar la respuesta a la pregunta 'por qué estaban perdiendo carreras' y la visualización les permitió encontrar sus respuestas en cinco minutos. Este es un gran ejemplo del aumento en el ancho de banda de los datos que conduce a ideas mucho más rápidas.
  • Uso del dark data. Las compañías comenzarán a troll la abundancia de información que está contenida en documentos en papel, fotos, videos y otros activos corporativos que están durmiendo en bóvedas y armarios de almacenamiento, pero que podrían ser utilizados en gran agregación de datos. Estos activos pueden ofrecer a las organizaciones una visión más completa de las tendencias históricas de rendimiento y ciclos de productos que pueden ser útiles para la planificación. Los datos también pueden proporcionar evidencia de apoyo para infracción de marca registrada y / o reclamaciones de violación de propiedad intelectual.

  • Uso de la inteligencia artificial En casos como la creación de precios dinámicos: los algoritmos permiten la automatización del precio basado en la demanda Impulsado por las aplicaciones informáticas y analíticas de alto rendimiento, el precio dinámico permite a los minoristas poner precio a los artículos en un momento determinado según la capacidad percibida de un cliente en particular y la voluntad de pago.Los precios en algunos sitios web y aplicaciones cambian ahora minuto a minuto. Por ejemplo, Uber introdujo su algoritmo de pricing para permitir que los precios aumenten automáticamente en momentos de máxima demanda. En los últimos años se ha incrementado enormemente el volumen de datos del consumidor del que disponen los responsables de marketing. Estos permiten a las marcas detectar rápidamente tendencias y reaccionar introduciéndolos en su marketing y su relación con consumidor.  Según crece la cantidad de datos, el aprendizaje automático irá agilizando paulatinamente el proceso, siendo capaz de asimilar la información de una gran variedad de fuentes e identificando rápidamente patrones de comportamiento.El uso de AI en el análisis de tendencias ayudará a los responsables de marketing a estar siempre un paso por delante tanto en tendencia como en competencia. Los especialistas en contenido serán capaces de crear un conjunto de mensajes que puedan ser rápidamente entregados a los consumidores, de acuerdo con las tendencias de mercado.Los equipos de desarrollo de productos también estarán mejor equipados para mantenerse al tanto de las necesidades de creadas por las últimas tendencias.

Estamos viviendo tiempos muy interesantes. Con tantos datos, económicos y accesibles, es difícil saber qué va a pasar.  Sin embargo, lo que sí sabemos es que estamos empezando a hacer posible lo imposible y tendrá una profunda trascendencia.
Viene un tren de cambios a toda velocidad, ante el que no debemos quedarnos quietos para que nos atropelle sino subirnos a él. ¿Quién sabe dónde estaremos dentro de 10 años? ¿Quien sabe que vendrá  nuevo en el próximo?



domingo, 8 de enero de 2017

2017: La batalla sobre el procesamiento de datos en Streaming

Hacía mucho tiempo que no escribía en el blog...En todo este tiempo me han pasado muchas cosas y también ha habido grandes cambios en tecnología. El Big Data por fin resulta una realidad, he podido experimentar y disfrutar de grandes proyectos e implementaciones sobre esta tecnología y esto solo acaba de empezar. Donde ahora predomina el procesamiento bacth , este año la estrella será el procesamiento en streaming. Donde antes me pedían batch y procesamiento veloz de grandes cantidades de datos cada vez recibiré más peticiones de procesamiento en tiempo real. Las empresas ya comienzan a estar preparadas para ello. Este hecho supone una nueva revolución(otra más) dentro del mundo del Big Data. Echemos un vistazo al panorama que se nos avecina.
La demanda de procesamiento de datos de forma cada vez más rápida ha ido en aumento y el procesamiento de datos en tiempo real en streaming parece ser la respuesta. Mientras que Apache Spark se sigue utilizando en muchas organizaciones para el procesamiento de datos en Big Data, otras alternativas como Apache Flink, Apache Apex o Apache Samza vienen empujando muy fuerte. De hecho, muchos piensan que Apache Flink tiene todo el potencial de reemplazar a Apache Spark debido a su capacidad de procesar datos en tiempo real. Por supuesto, la opinión sobre si Flink puede reemplazar a Spark todavía resulta algo ligera debido a que Flink aún tiene pocas puestas en producción de gran envergadura. Pero el procesamiento en tiempo real y la baja latencia de datos son dos de sus características más atractivas. Al mismo tiempo, se debe considerar que Apache Spark probablemente no perderá a corto plazo su posición porque sus capacidades de procesamiento batch siguen siendo relevantes.

Hay que tener en cuenta que aparte de todas las ventajas del procesamiento por lotes, un procesamiento en streaming que tiene baja latencia de datos aporta más información sobre datos rápidamente. Por lo tanto, ofrece la posibilidad de averiguar qué está pasando en tiempo real. Además de un procesamiento más rápido, también hay otro beneficio significativo: se dispone de más tiempo para diseñar una respuesta apropiada a los eventos. Por ejemplo, en el caso de detección de anomalías, una menor latencia y una detección más rápida permite identificar la mejor respuesta que es clave para evitar daños en casos como ataques web, daños en infraestructura o equipos industriales, respuesta ante peticiones de clientes. Por lo tanto, puede evitar pérdidas sustanciales.

Un vistazo a las alternativas

Apache Flink es una herramienta de procesamiento de datos que permite el procesamiento de grandes volúmenes de datos rápidamente con baja latencia de datos y alta tolerancia a fallos en sistemas distribuidos a gran escala. Su característica definitoria es su capacidad de procesar datos en tiempo real.

Apache Flink comenzó como un proyecto académico de código abierto, llamado entonces Stratosphere. Más tarde, se convirtió en un incubator  de Apache Software Foundation. Para evitar conflictos de nombre con otro proyecto, el nombre cambió a Flink.

Desde que fue agregado a la Fundación de Software Apache, tuvo un aumento bastante rápido como una herramienta de procesamiento de datos y en 8 meses, había comenzado a captar la atención de un público más amplio.

Apache Apex  posibilita procesar grandes cantidades de datos in-motion a través de unica plataforma altamente escalable,  fácilmente operable, de alto rendimiento, de baja latencia y tolerante a fallos con garantía de procesamiento correcto. Una plataforma nativa de Hadoop YARN de nivel empresarial, Apache Apex con su arquitectura de procesamiento de flujo unificado puede utilizarse para casos de uso en tiempo real y de procesamiento batch. También proporciona una API sencilla que permite a los usuarios escribir o reutilizar código Java genérico para configurar aplicaciones de datos grandes

Comparación entre Spark y Flink

Procesamiento de datos

Spark procesa los datos en modo batch mientras que Flink procesa los datos en tiempo real. Spark procesa fragmentos de datos, conocidos como RDD, mientras que Flink puede procesar filas tras filas de datos en tiempo real. Por lo tanto, aunque una latencia de datos mínima siempre está allí con Spark, no es así con Flink.

Iteraciones

Spark admite iteraciones de datos en lotes, pero Flink puede iterar sus datos de forma nativa usando su arquitectura streaming.

Comparación con APEX

Apex es una plataforma YARN, lo que significa que está vinculado a Hadoop (Flink y Spark por ejemplo no). Su base es  la biblioteca Apache Malhar que le ofrece bloques de construcción (operadores) para el procesamiento de flujo. Basta con derivar su clase de su operador (por ejemplo, el operador AbstractFileInputOperator) e implementar las clases que necesita

En resumen, se avecina un año apasionante siguiendo de cerca la evolución de estas herramientas, si tenemos en cuenta además el crecimiento del machine laerning en streaming, los cambios tecnológicos que se avecinan resultan apasionantes