BigData explicado como para mi madre

El otro día me hicieron una petición en el vídeo que tengo en YouTube sobre Apache Spark. Explicar que es el BigData.

Voy a intentar explicarlo como si se lo contase a mi madre. Es decir de forma muy didáctica.

Porque surgió

Las aplicaciones y las herramientas que existían en el mercado estaban orientadas a tamaños de empresas, mas o menos grandes. Por ejemplo se podía tener una base de datos con todos sus clientes. Eso son cientos, miles quizá  millones de personas.

Pero con la llegada de Internet las empresas como Google, FaceBook, etc empezaron a necesitar manejar volúmenes mas grandes, cientos de millones de clientes.

Y simplemente las herramientas que había no aguantaban tanto volumen, así que se tuvieron que crear herramientas nuevas.

Que ha supuesto esto

En el momento que se crean herramientas que pueden manejar volúmenes inmensos de información las organizaciones pueden empezar a almacenar datos que antes no podían. Y sobre todo pueden procesarlas.

Esto hace que con el BigData se puedan responder a preguntas que antes no se podían responder, porque no se podía almacenar ni procesar esos volúmenes de datos.

Necesito un BigData

Hoy día parece que si no tienes un BigData no eres nadie en este mundo, pero eso no es cierto. Los sistemas tradicionales aguantan bastante carga y no es tan fácil llevarlos al límite para una organización pequeña o mediana.

Si tienes un problema y lo puedes solucionar con una herramienta tradicional, no uses un BigData. Te va a salir mucho mas caro.

El BigData es un producto

Se habla mucho del BigData y puede parecer que es un producto que instalas y ya está, pero nada mas lejos de la realidad. Hay multitud de productos que encajan en la denominación de BigData, incluso muchos son equivalentes.

Cuando usar un BigData

Normalmente se habla de usar soluciones de BigData cuando tienes una o varias de las 3 V, que son Velocidad, Variedad o Volumen.

Es decir, por ejemplo tienes un volumen gigantesco de datos, o tienes una necesidad de velocidad de proceso de los datos muy alta o bien tienes una variedad de datos muy alta.

Migración a Spark 2.0

Esta es la cuarta entrega de la serie de videotutoriales sobre BigData. En esta ocasión lo que vamos a ver es la migración desde la versión 1.6 de los ejemplos del tercer video a la versión 2.0 de Spark.

Así que trabajaremos con el API de SQL, que es en el que se basan los videos anteriores.

Estos cambios para aplicaciones Java tienen su cierto trabajo ya que hay un API que desaparece. concretamente es el DataFrame.

El código lo tenéis en mi github

 

ULP: como estructurar tus sistemas de información

En esta ocasión os traigo mi opinión sobre un libro de tratamiento de logs.

El libro en cuestión es Unified Log Processing de la editorial Manning, de la que tengo bastantes libros como ya os he contado en otras ocasiones.

Lo primero que hay que decir es que se diferencia entre logs y trazas. Aunque normalmente desde el mundo del desarrollo se habla indistintamente de los dos conceptos en este libro se hace una diferenciación. Trazas se refiere a las típicas de debug, info, warning y error, es decir las trazas de depuración de un programa y logs se refieren mas al cuaderno de bitácora, con cosas como fulanito se ha dado de alta, menganito ha hecho un ingreso de X euros.

Es el libro el autor lo que propone es una forma de organizar los sistemas de información incorporando un sistema de eventos del que puedan consumir todas las aplicaciones. Técnicamente se basa mayormente en Apache Kafka.

Me ha parecido un libro bastante interesante, no solo para alguien que tenga que realizar un procesamiento de logs, sino también para alguien que necesite hacer un procesado de mensajes con tecnologías como JMS, ya que da una visión general de como se deben construir sistemas de eventos/mensajería.

 

Libro de referencia sobre arquitecturas para BigData

En esta ocasión traigo mis opiniones sobre un libro, que para mi ha sido fundamental en comprender las arquitectura empleadas en las soluciones de BigData.

Es un libro de la editorial Manning, de la que tengo bastantes libros.

Se centra en explicar la arquitectura lambda. El libro se organiza en un capitulo teórico y otro capitulo técnico que sirve de ejemplo de la teoría.

Libro altamente recomendable.

Reseña libro Spark in Action

En esta ocasión os quiero dejar un vídeo de una reseña, o más bien opinión de un libro que he utilizado para aprender sobre Apache Spark.

El libro se llama Spark in Action.

Probablemente sea el libro más flojo de la línea de In Action que tengo. Yo lo achaco a que el tratar con cierta profundidad una herramienta tan extensa es complicado de hacer en un único libro.

De todas maneras me parece un libro muy indicado para la gente que quiera introducirse en el mundo de Spark y del BigData.

Reseña libro ElasticSearch in Action

En esta ocasión quiero competir con vosotros una reseña del libro que utilicé para introducirme en el mundo de ElasticSearch.

Es un libro de la editorial Manning, que compré cuando estaba en fase MEAP. La reseña os la traigo por partida doble. Por un lado en un vídeo de Youtube que os dejo aquí seguido.

Y por otra parte, para todas aquellas personas que no les es fácil el consumir el contenido en formato video, he abierto una nueva via de comunicación mediante podcast, que podréis bajar. Los podcast está albergados en la página ivoox en http://inigoserrano.ivoox.com
Espero que os sea de utilidad la reseña del libro y el nuevo canal de comunicación.

BigData con Spark

Cada vez va tomando mas importancia todos los temas relacionados con el BigData.

En el canal de Youtube he subido tres videos dedicados al desarrollo BigData con Spark.

Son vídeos muy básicos para poder hacerse una idea de los que supone desarrollar una aplicación BigData con Spark.

En el primer video se cubre la parte de instalación de las herramientas necesarias, siendo estas la máquina virtual de Java, el JBoss Developer Studio y las dependencias necesarias para desarrollar el proyecto con Maven.

El segundo video trata sobre la instalación del sistema de ficheros distribuido HDFS. Este sistema de ficheros es parte de Hadoop y es el típico sistema de ficheros de las soluciones BigData.

Y por último, y quizá mas interesante ya que se ve código, es el tercero. En el que se cubren cinco ejemplos.

  1. Lectura de un fichero en formato csv y escritura del mismo en formato JSON
  2. Filtrado de datos utilizando select, si selects de SQL
  3. Filtrado de datos utilizando el API de Spark
  4. Escritura de datos en ElasticSearch
  5. Escritura de datos en HDFS
Entre el ejemplo tercero y el cuarto se explica la instalación de docker y la ejecución de un elasticSearch dockerizado.
Si os gustan los vídeos no dudeis en darle al Like y subscribiros al canal.

ElasticWeather: tratamiento de datos meteorológicos con elasticsearch y docker

Ha habido un gran parón desde mi anterior entrada en el blog y esta.

Siempre he pensado que aunque se recomiende tener actividad regularmente es más importante el hecho de que el contenido sea de calidad a la cantidad. No vivo de esto sino que es un complemento, así que aunque aprecio el número de vistas, no me obsesiona.

Durante estos meses me he dedicado a ampliar mis conocimientos en las dos áreas en las que me he especializado, que son los temas de devops y la arquitectura de aplicaciones. Procuro mantener un cierto nivel en un rango amplio de materias, pero es complejo ya que requiere de tiempo y es finito. Así que ya desde hace unos cuantos años, y no sin cierta pena, suelo hacer descartes.

Así que he estado ampliando conocimientos en ámbas áreas, concretamente en la parte de devops con Docker y en la parte de arquitectura con BigData.

El tema del BigData lo llevo mirando desde hace ya bastante tiempo, pero sin poder dedicarle todo el tiempo que me hubiese gustado. Ahí están como muestra las pruebas de concepto de la serie weather a la que he añadido elasticWeather para tratar los datos meteorológicos con elasticSearch.

Y para matar dos pájaros de un tiro y cubrir la parte de devops esta prueba de concepto de elastic está implementada utilizando contenedores docker. Así que cualquiera que quiera trastear con elasticWeather le va a resultar mucho más sencillo disponer de la infraestructura.

Docker lo que nos permite es plataformar servidores y distribuir de una forma relativamente sencilla esa plataforma. Esto es ideal para que los equipos de desarrollo empiecen a ser productivos con rapidez.

Pero aparte del proyecto en gitHub he hecho dos vídeos, uno más centrado en el elastic, concretamente en el Kibana y otro más centrado en la infraestructura utilizada, es decir en el Docker.

Si necesitas una formación formal en Docker dispongo de un curso completo de 7 horas en el que podrás tener un certificado de finalización y un contenido más hilvanado que las píldoras de Youtube. También me ayudarás a mantener este web y la elaboración de los vídeos en Youtube.

La descripción completa y las plataformas en las que está disponible el curso las podéis ver arriba en el menú de curso.

Os los dejo a continuación. Como siempre son bienvenidos los likes, las suscripciones y los comentarios constructivos.