Skip to main content
SparkR

SparkR: R a Gran Escala!

Tiempo de Lectura: 3 minutos

 

Gracias al auge del Científico de Datos, escuchamos con frecuencia uno de los software más influyentes en la actualidad analítica y estadística llamado R. R nos permite entre muchísimas cosas trabajar con DataFrames de datos (realizar carga, tratamiento, análisis e interpretaciones) a fin de descubrir por ejemplo patrones, tendencias, índices o predicciones entre muchas más.

Actualmente si usas o consideras usar R debes tener presente que el análisis de los datos está limitado por la memoria que dispongas localmente y solo usa un core, así que trabajar con grandes cantidades de datos no es muy práctico.

Durante un tiempo me estuve preguntando: Podría distribuir los análisis (códigos) hechos en R sobre un cluster de datos para permitir el análisis de grandes cantidades de datos?

En cierta forma podría responder de distintas maneras.

Por ejemplo: “convierte tu código a Map Reduce y ejecútalo sobre Hadoop”, “carga tus datos, trátalos y analízalos con Pig”…pero estaríamos duplicando nuestro código ya hecho en R.

Así que me pareció muy interesante escribir un artículo donde se pueda responder ésta pregunta, y la respuesta es Si!, si podemos distribuir nuestros análisis (código) hechos en R, imagínate usar los más de 10.000 paquetes que tiene R en un ambiente escalable y distribuido!

La solución para convertir R a un ambiente escalable viene de la mano de la unión de R con uno de los proyectos más poderosos para el procesamiento de grandes cantidades de datos…Spark, el cual gracias a la comunidad de desarrolladores crearon un paquete llamado SparkR.

Que es SparkR?

SparkR es un paquete el cual está basado en un Data Frame distribuido el cual permite procesar datos estructurados o tratados (dplyr) con sintaxis familiar para los usuarios de R.

Por su parte Spark proporciona un motor de procesamiento distribuido, múltiples origines de datos y estructuras de datos en memoria. R, por el contrario, proporciona un entorno dinámico, interactivo, más de 10.000 paquetes de análisis a elegir y visualización.

SparkR combina las ventajas de Spark y R en un solo paquete

 

 Que es un SparkDataFrame?

Un SparkDataframe es una colección de datos organizados dentro de columnas. Conceptualmente esto es equivalente a una tabla en un RDBMS o un dataFrame en R, pero mucho más optimizados. Una de las ventajas es que puede construirse desde una amplia gama de fuentes tales como: archivos de datos estructurados, tablas en Hive, bases de datos externas, tramas de datos locales de paquetes de R existentes o incluso formatos emergentes populares como Avro.

Cómo funciona?

Para trabajar con SparkR debemos utilizar una sesión o sparkSession la cual permite conectar nuestro programa R con el cluster Spark. Para crear una sesión usamos simplemente la instrucción sparkR.session  pasándole algunas opciones como por ejemplo: el nombre de la aplicación o cualquier paquete que dependa directamente de spark, ect.
El método para crear los SparkDataFramesR desde distintos origines de datos es mediante el read.df.

Veamos un poco de acción creando un SparkDataFrames desde distinta fuentes:


# Creando un SparkDataFrame local
df <- as.DataFrame(faithful)

# Creando desde data source Avro
sparkR.session(sparkPackages = "com.databricks:spark-avro_2.11:3.0.0")

# Creando desde un JSON único
people <- read.df("./examples/src/main/resources/people.json", "json")

# Creando desde múltiples JSON
people <- read.json(c("./examples/src/main/resources/people.json",
"./examples/src/main/resources/people2.json"))

# Creando desde csv
df <- read.df(csvPath, "csv", header = "true", inferSchema = "true", na.strings = "NA")

# Creando desde Hive
sparkR.session()
sql("CREATE TABLE IF NOT EXISTS src (key INT, value STRING)")
sql("LOAD DATA LOCAL INPATH 'examples/src/main/resources/kv1.txt' INTO TABLE src")

# Queries expresadas en HiveQL
results <- sql("FROM src SELECT key, value")

# Cómo obtener resultados de un SparkDataFrame
head(results)

Para más detalle sobre read.df encuentras la documentación oficial.

 

Mapeo de Tipos de datos entre R y spark

Cómo veremos a continuación existe una similitud entre los tipos de datos más similares y solo existe una pequeña variación:
data-type-mapping-between-r-and-spark

Arquitectura SparkR

La arquitectura de SparkR está compuesta por 2 componentes principales: Un Driver conformado por JVM y R el cual permite enviar programas R a un cluster Spark y por otro lado los distintos Worker’s los cuales permitirán ejecutar los programas R sobre Spark.

integrate-sparkr-and-r
Fuente: Integrate SparkR and R

Esto hace posible que las operaciones ejecutadas sobre el paquete SparkR automáticamente sean distribuidas a través de todos los nodos que hacen parte del cluster.

Una de las grandes ventajas de utilizar el JVM para invocar funciones de Spark desde R es satisfacer un enfoque flexible donde el administrador del cluster Yarn pueda soportar distintas plataformas como Windows, Linux, etc.

Ventajas que encontramos

  • Operaciones con sparkDataFrames como selección de registros y columnas, agrupación, agregación, entre otras.
  • Operaciones que pueden ser aplicadas directamente sobre columnas tales como el uso de funciones aritméticas.
  • Aplicación de funciones definidas por los usuarios conocidas como UDF.
  • Ejecuciones de funciones distribuidas usando spark.lapply.
  • Ejecución de consultas SQL desde sparkR.

 

En resumen, SparkR proporciona una interfaz R sobre Apache Spark permitiéndoles a los usuarios realizar análisis a gran escala. Actualmente SparkR se encuentra en la versión 2.1.0. Por supuesto todas sus funcionalidades son de código abierto y puedes descargarlo desde aquí http://spark.apache.org, aquí la documentación oficial http://spark.apache.org/docs/latest/sparkr.html

 

Conclusión sobre SparkR

Aunque muchos de seguro hemos usado R tal vez no teníamos presente este paquete, las capacidades de poder procesar datos distribuidos y en grandes cantidades nos crea un abanico de oportunidades únicas en nuestro campo, espero que te allá parecido interesante éste artículo!

 


¿Qué te pareció SparkR? ¿Ya habías escuchado hablar de R a gran escala? ¿Te gustaría probarlo…cómo lo planearías?

Especialista en Business Intelligence con experiencia en herramientas como Pentaho, Microsoft y Microstrategy.
Inmerso en Big Data, las Nuevas Tendencias, el Futbol y la Música.

7-claves-para-infraestrutura-big-data

7 Claves para construir una infraestructura Big Data con éxito

La infraestructura en Big Data es uno de los aspectos más importantes a tener en cuenta a la hora de querer implementar nuestros proyectos, tener definida una infraestructura estable que sea capaz de suplir todas las necesidades y a su vez permita crecer conforme sea necesario y avance el proyecto es primordial, ya que de esto dependerá nuestra capacidad futura de análisis y acción de los sistemas que soportará.

 

 

1. Big Data es más que Hadoop

Actualmente se encuentra directamente relacionado Hadoop con el mundo Big Data, pero hay que tener presente que no siempre lo necesitamos y en efecto es necesario realizar una análisis de nuestras necesidades con antelación. Hadoop es un sistema de archivos diseñado para distribuir datos entre cientos o miles de nodos de procesamiento y entre otras cosas nos permite el tratamiento de datos no estructurado pero No es una base de datos, ésto debe estar sumamente claro.

 

2. Hive e Impala llevan las bases de datos relacionales a Hadoop

Si decidiste implementar Hadoop, es posible que algunos de tus datos sean parte estructurados. Si quieres darle un poco de orden a tu plataforma Hadoop entonces Hive es lo que necesitas. Hive es una herramienta la cual te permite realizar consultas muy parecidas al SQL, facilita la creación, consulta y administración de grandes volúmenes de datos almacenados en Hadoop.

Por el contrario, si tus datos se ajustan fácilmente dentro de una base de datos estructurada, Impala es una base de datos diseñada para vivir en Hadoop permitiendo además el uso de comandos Hive desarrolados previamente.

Puedes combinar facilmente Hadoop, Hive e Impala pues todos son proyectos Apache.

 

3. Spark es procesamiento en Big Data

Hasta ahora, hemos estado hablando de almacenar y organizar datos. Pero ¿qué pasa cuando quieres hacer algo con los datos? Aquí es cuando se necesita un motor analítico y de procesamiento como Spark. Spark es otro proyecto de Apache, y se encuentra en un montón de productos de código abierto y comercial que llevará los datos a otro nivel, combinando datos de tu DW con almacenamiento distribuido, bases de datos relacionales y muchos más.

 

4. Puedes hacer SQL en Big Data

Mucha gente sabe cómo construir bases de datos SQL y escribir consultas SQL. Esa experiencia no tiene que perderse cuando el campo de juego es Big Data. Presto es un motor de consulta SQL de código abierto que permite a los científicos de datos utilizar consultas SQL para interrogar bases de datos que viven en todo, desde Hive hasta sistemas de gestión de bases de datos comerciales. Es utilizado por pequeñas empresas como Facebook para consultas interactivas(Ya te imaginarás su gran poder). Piensa en Presto como una herramienta para hacer consultas ad hoc e interactivas en enormes conjuntos de datos.

 

5. Almacenamiento Online

Hay algunas tareas dentro en Big Data que implican el cambio rápido de datos. A veces, se trata de datos que se agregan a una base de datos regular y a veces son datos que se cambian a través del análisis. En cualquier caso, si los datos se escriben con tanta frecuencia como se están leyendo, entonces es necesario disponer de los datos localmente yonline. Si es posible, también podrías considerar el almacenamiento en estado sólido, porque eso acelerará considerablemente las cosas.

 

6. Almacenamiento Cloud

Cuando el análisis se lleva a cabo en bases de datos muy grandes y agregadas para las que están construyendo grandes rutinas orientadas por lotes, la nube puede ser perfecta. Ésta nos permite fácilmente agregar y transferir los datos a la nube, ejecutar análisis y a continuación destruir la instancia. Es exactamente el tipo de respuesta a demanda elástica que la nube nos brinda. Las operaciones no se verán afectadas significativamente por los problemas de latencia que Internet pudiera producir. Cuando se combina el análisis en tiempo real que se lleva a cabo en los sistemas dedicados locales con profundas analíticas que se ejecutan en la nube, se está acercando a la realización de todo el potencial de una gran infraestructura de datos.

Haz parte de mi Newsletter
I agree to have my personal information transfered to MailChimp ( more information )
Únete y haz parte como otros visitantes que reciben semanalmente mi newsletter con noticias y artículos actualizados sobre Business Intelligence y Big Data.
Al igual que tú, no tolero el SPAM. Tu dirección de email no será compartida.

7. No olvidar la Visualización

Al igual que se encuentra dentro de la nuevas tendencias del BI, La visualización en Big Data es muy importante, debido a que es necesario saber representar muchas fuentes de datos de manera que tenga sentido para las personas y por lo tanto la visualización de datos debe ser considerada como parte crítica de la infraestructura.

Afortunadamente, existen distintas maneras de hacer que ocurran grandes visualizaciones, desde bibliotecas de JavaScript, hasta paquetes de visualización comerciales o servicios en línea. ¿Cuál es el punto más importante? Escoja un puñado de ellos, pruébelos y permita que los usuarios los prueben. Así encontrará que la visualización sólida es la mejor manera de hacer su gran análisis de datos tan valioso como sea posible.
Lo anterior ha sido una recopilación de un excelente artículo el cual podrás encontrar aquí, espero que te ayude a aterrizar un poco los aspectos que debes tener en cuenta antes de implementar tu infraestructura Big Data.

 

 

Considerarías adicionar otra clave? crees que las claves presentadas anteriormente son suficientes?

Especialista en Business Intelligence con experiencia en herramientas como Pentaho, Microsoft y Microstrategy.
Inmerso en Big Data, las Nuevas Tendencias, el Futbol y la Música.

hadoop-introduccion-componente-ecosistema

Hadoop: Introducción,Componentes y Ecosistema

Hoy en día existen nuevas fuentes emergentes las cuales vienen de la mano con nuevos retos tecnológicos los cuales no logramos cumplir con los sistemas tradicionales, con el auge de la inminente necesidad de procesar grandes cantidades de datos existen soluciones que nos ayudan a solucionar dichas brechas en algunos aspectos. En este caso vamos a dedicar el artículo a una de las mayores soluciones tecnológicas que existen actualmente (y desde hace ya varios años atrás) la cual conocemos como Hadoop.

Ésta encaja principalmente dentro de la categoría tecnología de Distribución de grandes cantidades  de información y Tratamientos de los datos con análisis avanzados .

Breve Historia

Como podríamos imaginarnos los primeros en encontrarse con problemas de procesamiento, almacenamiento y alta disponibilidad de grandes bancos de información fueron los buscadores y las redes sociales. Con la implementación de sus algoritmos de búsquedas y con la indexación de los datos en poco tiempo se dieron cuenta de que debían hacer algo y ya.

Fue así como nació el sistema de archivos  de Google (GFS), un sistema de archivos distribuido capaz de ser montado en clústeres  de cientos o incluso de miles de máquinas compuestas por hardware de bajo coste. Entre algunas de sus premisas contaba con que es más óptimo el tratamiento de pocos ficheros de gran tamaño que el tratamiento de muchos pequeños y que la mayor parte de las modificaciones sobre los ficheros suelen consistir n añadir datos nuevos al final en vez de reemplazar los existentes.

De la mano del GFS crearon Map-Reduce del cual hablaremos más adelante pero podríamos decir que es un modelo de programación cuya finalidad es paralelizar o distribuir el procesamiento  sobre los datos a través de los clústeres.

Cabe mencionar que Google una vez creo semejante solución público la documentación donde describe aspectos de arquitectura y funcionamiento tanto del GFS como del Map-Reduce el cual sirvió como base para la creación de Hadoop.

Aquí están los links de la documentación publicada por Google:

The Google File System, Octubre 2003. Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung – http://research.google.com/archive/gfs.html

 MapReduce: Simplified Data Processing on Large Clusters, Diciembre 2004. Jeffrey Dean and Sanjay Ghemawat – http://research.google.com/archive/mapreduce.html

 

Así pues de la mano del gran avance de Google fue como nació Hadoop con Doug Cutting  un trabajador de Yahoo!. Gracias a que había sido el creador de distintos proyectos en Open Source con anterioridad distribuyó de la misma manera a Hadoop.

 

De igual manera se hace mención a Facebook ya que es parte de la popularización y contribución al desarrollo de Hadoop, pues bien fue una de los primeros en implementar uno de los clústeres más grandes y se atribuye el desarrollo de <Hive> el cual permite realizar consultas similares al SQL sobre los datos en un ambiente distribuido.

Que es Hadoop?

Es un framework Open Source de Apache que nos permite implementar plataformas Big Data altamente distribuidas, funcionales y escalables sin depender de la inversión de licencias y ni de hardware. Gracias a que está escrito en el lenguaje de programación Java disponemos de diversas aplicaciones o proyectos adicionales que le potencian además de su propia adaptación  del modelo de programación Map-Reduce para el procesamiento de grandes bancos de datos incluyendo estructurados y no estructurados.

Hadoop está diseñado para crear aplicaciones que procesen grandes volúmenes de datos de manera distribuida a través de Map-Reduce. Además gracias a que trabaja con almacenamiento y procesamiento local (pero distribuido) nos permite trabajar tanto con Clústeres de un solo nodo como por miles de nodos ofreciendo un alto nivel de tolerancia a errores.

Componentes de Hadoop

Consta principalmente de dos componentes los cuales se dividen en almacenamiento/distribución de los datos y el procesamiento de los mismos:

  • Hadoop Distribuited File System HDFS

Es un sistema de archivos distribuidos el cual permite difundir los datos a través de cientos o miles de nodos para su procesamiento. Aquí es donde se proporciona redundancia (Los datos están repetidos o replicados en varios nodos) y tolerancia a fallos (Si falla algún nodo se reemplaza automáticamente).
En su funcionamiento el sistema de archivos HDFS divide los datos en bloques donde a su vez cada bloques se replica en distintos nodos de manera que la caída de un nodo no implique  la pérdida de los datos que éste contiene. De esta manera se facilita el uso de modelos de programación como Map-Reduce, ya que se puede acceder a varios bloques de un mismo fichero en forma paralela.

arquitectura_hadoop

  • Map-Reduce

Es el corazón de Hadoop el cual permite el fácil desarrollo de aplicaciones y algoritmos bajo el lenguaje Java para el procesamiento distribuido de grandes cantidades de datos.
Dentro del ecosistema las aplicaciones desarrolladas para el framewrok Map-Reduce se conocen como Jobs, éstos se componen de las siguientes funciones:

Map (Mapeo): Encargada de la división de las unidades de procesamiento a ejecutar en cada nodo y de su distribución para su ejecución en paralelo. Aquí a cada llamada se le asignará una lista de pares key/value.

Shuffle and sort (Combinación y Orden): Aquí se mezclan los resultados de la etapa anterior con todas las parejas clave/valor para combinarlos en una lista y a su vez se ordenan por clave.

Reduce: Aquí se reciben todas las claves y listas de valores haciendo si es necesaria la agregación de las mismas.

mapreduce
Fuente de la imagen: cs.uml.edu

Tipos de instalación

Antes de continuar es necesario mencionar que Hadoop fue diseñado para ejecutar procesamiento distribuido por lo cual tendremos nodos maestros (Para cubrir las funciones de control del almacenamiento y procesamiento) y nodos esclavos (donde se almacenan o tratan los datos).

Una de las grandes ventajas de Hadoop es que inicialmente no necesitamos disponer de grandes requerimientos de hardware para montar nuestra propia aplicación, gracias a que su escalabilidad nos permite crecer conforme lo requieran las exigencias de nuestro proyecto.

Es importante recalcar que no es lo mismo realizar el conteo de 1000 palabras a contar todas las palabras de todos libros de una biblioteca nacional, debemos ser realistas, así que si te encuentras con una solución real de Big Data donde debes procesar Petabytes de datos si será necesario contar con exigentes requerimientos.

 

 
Los tipos de instalación  son:

  • Stand Alone (un solo nodo)

La instalación Stand Alone nos permite configurar un despliegue de Hadoop donde todos los servicios tanto de maestro como de esclavo se ejecutan en un solo nodo al mismo tiempo que solo trabaja con un thread.

Una de las grandes ventajas es que nos puede servir para probar aplicaciones sin tener que preocuparnos de concurrencias de ejecución, además es una buena manera de entrar en el mundo de Hadoop pues experimentaras aspectos a tener en cuenta de instalación y configuración los cuales seguramente necesitaras en un futuro.

  • Pseudo-distribuida

Esta instalación al igual que la anterior también se monta sobre un solo nodo, todos sus servicios corren sobre éste pero la diferencia es que permite ejecutar múltiples threads.

Gracias a que ejecutamos aplicaciones multi-threads podemos experimentar la ejecución de aplicaciones sin necesidad de disponer de múltiples computadoras  pues aquí empezamos a aprovechar mucho mejor los distintos núcleos de nuestro procesador.

  • Totalmente Distribuida

Tal como su nombre lo indica es aquí donde instalamos y configuramos un ambiente completamente distribuido donde dispondremos de un maestro y varios esclavos aprovechando completamente la paralización.

Este es el tipo de instalación para un ambiente de producción donde consideraremos grandes racks y nodos bien dotados de procesador y memoria para divisar los verdaderos beneficios de Hadoop.

Personalmente considero muy importante experimentar por los tipos de instalación desde la más básica hasta la avanzada pues nos permitirá obtener experiencia y conocer aspectos técnicos como  configuración de variables de entorno, archivos de configuración del servidor maestro y esclavo, como compilar nuestras aplicaciones Map-Reduce y su funcionamiento, etc.

Haz parte de mi Newsletter
I agree to have my personal information transfered to MailChimp ( more information )
Únete y haz parte como otros visitantes que reciben semanalmente mi newsletter con noticias y artículos actualizados sobre Business Intelligence y Big Data.
Al igual que tú, no tolero el SPAM. Tu dirección de email no será compartida.

 Ecosistema Hadoop

Gracias a la creciente comunidad Open Source existen distintos proyectos y herramientas que ofrecen funcionalidades adicionales las cuales son consideradas parte de un gran ecosistema pensado en apoyar las distintas etapas de un proyecto Big Data.

A continuación realizo una clasificación personal de las mismas a modo de orden y guía para entenderlas mucho más fácil.

Cada una se acompaña del link oficial y si está disponible un link donde puedes aprender más detalle sobre la misma.

 Captura y Manipulación De Datos

  • Chukwa

chukwa_logo_small

http://chukwa.apache.org/

Es un proyecto construido para capturar y analizar grandes volúmenes de datos principalmente logs. Debido a que está construido sobre Hadoop hereda escalabilidad y robustez con el uso de HDFS y Map-Reduce al mismo tiempo que provee adicionalmente un grupo de herramientas flexibles y potentes para visualizar, controlar y analizar los datos.

 

  • Flume

flume-logo

https://flume.apache.org/

Es una herramienta distribuida para la recolección, agregación y transmisión de grandes volúmenes de datos de diferentes orígenes altamente configurable. Ofrece una arquitectura basada en la transmisión de datos por streaming altamente flexible y configurable pero a la vez simple de manera que se adapta a distintas situaciones tales como monitorización logs (control de calidad y mejora de la producción), obtención de datos desde las redes sociales (Sentiment Analysis y medición de reputación) o mensajes de correo electrónico.

  • Sqoop

sqoop-logo

http://sqoop.apache.org/

Es una de las herramientas que deberías tener en cuenta si deseas potenciar tu sistema BI pues su funcionalidad permite mover grandes cantidades de datos entre Hadoop y bases de datos relacionales al mismo tiempo que ofrece integración con otros sistemas basados en Hadoop tales como Hive, HBase y Oozie <links>.

Utilizando el framework Map-Reduce transfiere los datos del DW en paralelo hacia los distintos Clústeres de manera que una vez ahí puede realizar análisis más potentes que el análisis tradicional.

Link Adicional: http://www.hadooptpoint.com/apache-sqoop-introduction/

  • Uima

uima_logo

https://uima.apache.org/

Otra aplicación interesante con la que podremos analizar grandes volúmenes de datos no estructurados tales como texto, video, datos de audio, imágenes, etc… y obtener conocimiento que sea relevante para el usuario final. Por ejemplo a partir de un fichero plano, poder descubrir que entidades son personas, lugares, organizaciones, etc…

  • Lucene

lucene_logo

https://lucene.apache.org/core/

Este proyecto es uno de mis favoritos, es una librería escrita en Java diseñada como un motor de búsqueda de textos. Es adecuada para casi cualquier aplicación que requiera la búsqueda de texto completo. Lucene permite indexar cualquier texto o palabra (el texto puede contener letras, enteros, reales, fechas y combinaciones) permitiéndonos después encontrarlos basados en criterios de búsquedas como palabra clave, términos, frases, comodines y muchas más.

Link Adicional: https://www.tutorialspoint.com/lucene/index.htm

Almacenamiento

  • Hive

hive_logo

http://hive.apache.org/

Es una herramienta data warehousing que facilita la creación, consulta y administración de grandes volúmenes de datos almacenados en Hadoop. Cuenta con su propio lenguaje derivado del SQL, conocido como Hive QL, el cual permite realizar las consultar sobre los datos utilizando Map-Reduce para poder paralelizar las tareas. Por esta misma razón, se dice que Hive lleva las bases de datos relacionales a Hadoop.

Otra gran ventaja es nuestro camino a la evolución del BI es que posee drivers de conexión tales como JDBC/ODBC por lo que facilitaría notablemente la integración con nuestros sistemas proporcionándonos extensión en análisis y procesamiento sin cargar el proceso diario.

Link Adicional: https://www.tutorialspoint.com/hive/

  • HBase

hbase_logo

http://hbase.apache.org/

Es la base de datos de Hadoop distribuida y escalable. Su principal uso se encuentra cuando se requieren escrituras/lecturas en tiempo real y acceso aleatorio para grandes conjuntos de datos. Debido a que su base es hadoop adquiere las sus capacidades y funciona sobre HDFS. Puedes almacenar en un amiente distribuido tablas sumamente grandes incluso hablando de billones de registros por millones de columnas, la manera de soportar esta cantidad de datos es debido a que es una base NoSQL de tipo Columnar por lo cual no es posible realizar consultas SQL.

Link Adicional: http://www.tutorialspoint.com/hbase/

Tratamiento de datos

  • Mahout

mahout-logo

http://mahout.apache.org/

Este proyecto nos permite desarrollar algoritmos escalables de Machine Learning y Data Mining sobre Hadoop. Soporta algoritmos como recomendación, clustering, clasificación y filtro colaborativo, también si es el caso podremos crear algoritmos para encontrar patrones, que aprendan sobre  los datos y que los  clasifique una vez termine su fase de aprendizaje.

http://www.tutorialspoint.com/mahout/

  • Pig

pig_logo

http://pig.apache.org/

Este proyecto nos permite analizar grandes volúmenes de datos mediante el uso de su propio  leguaje de alto nivel llamado PigLatin. Sus inicios fueron en Yahoo donde sus desarrolladores pensaban que el Map-Reduce era de muy bajo nivel y muy rígido por lo cual podías tardar mucho tiempo en la elaboración y manutención.

Así pues nace Pig  con su propio lenguaje y trabaja sobre Hadoop traduciendo las consultas del usuario a Map-Reduce sin que éste siquiera lo note. De esta manera provee un entorno fácil de programación convirtiendo las paralelizaciones en dataflows, un concepto mucho más sencillo para el usuario del negocio.

Pig tiene dos componentes: su lenguaje PigLatin y su entorno de ejecución.

Pig provee un enfoque más analítico que a la construcción.

Debido a su fácil y potente uso es usado en procesos de ETL y en la manipulación y análisis de datos crudos.

Link Adicional: http://www.tutorialspoint.com/apache_pig/

  • Oozie

oozie_logo

http://oozie.apache.org/

Proyecto el cual nos permite planificar workflows para soluciones que realizan procesos o tareas Hadoop. Al igual que Pig, está orientado al usuario no experto por lo cual le permite definir fácilmente flujos de trabajo complejos sobre los datos.

Oozie funciona como un motor de workflows a modo de servicio que permite lanzar, parar, suspender, retomar y volver a ejecutar una serie de trabajos Hadoop  (tales como Java Map-Reduce, Streaming Map-Reduce, Pig, Hive, Sqooq…) basándose en ciertos criterios, como temporales o de disponibilidad de datos. Los flujos de trabajo Oozie son grafos no cíclicos directos -también conocidos como DAGs- donde cada nodo es un trabajo o acción con control de dependencia, es decir, que una acción no puede ejecutarse a menos que la anterior haya terminado.

oozie-action
Fuente: slideshare/AdamKawa

Link Adicional: https://www.tutorialspoint.com/apache_oozie/index.htm

  • Jaql

https://www.ibm.com/developerworks/jaql

Es un lenguaje de consulta funcional y declarativa que permite la manipulación y procesamiento de datos en formato JSON e incluso semi-estructurados. Fue creado y liberado por IBM bajo Apache License 2.0. Además de ser pensado para trabajar con formato JSON también permite realizar consultas sobre XML, CSV, Archivos Planos y RDBMS.

Ya que es compatible con Hadoop puede ejecutar consultas de datos sobre HDFS generando automáticamente Jobs Map-Reduce solo cuando sea necesario y soportando procesamiento en paralelo sobre el Clúster.

Administración

  • Zooquiper

zookeeper

https://zookeeper.apache.org/

Es un proyecto de Apache el cual brinda una infraestructura centralizada y servicios que permiten la sincronización del clúster. Zooquiper en pocas palabras se encarga de administrar y gestionar la coordinación entre los distintos procesos de los sistemas distribuidos.

Link Adicional:http://www.tutorialspoint.com/zookeeper/

  • Avro

avro-logo

https://avro.apache.org/

Avro, es un sistema de serialización  de datos creado por Doug Cutting, el padre de Hadoop.

Debido a que podemos encontrar distintos formatos de datos dentro de Hadoop, Avro se ocupa de que dichos formatos puedan ser procesados por distintos legajes de programación por ejemplo Java, C, C++, Python, Ruby y C#. El formato que utiliza para serializar el JSON gracias a su portabilidad y fácil lectura.

Link Adicional: http://www.tutorialspoint.com/avro/

  • Hue

hue_logo

http://gethue.com/

Hue es una herramienta enfocada en los administradores de las distribuciones Hadoop proporcionando una interfaz web para poder trabajar y administrar las distintas herramientas instaladas. Desde aquí puedes cargar o visualizar datos, programar y ejecutar consultas Pig o SQL, realizar búsquedas e incluso programar en pocos pasos un flujo de datos.

Una funcionalidad que independientemente de las herramientas que tengas instaladas en tu proyecto Big Data con Hadoop no puede faltar.

 

Espero te haya gustado el artículo hasta aquí esta introducción a Hadoop, en futuros artículos profundizaré sobre aquellos proyectos y herramientas capaces de permitirnos evolucionar nuestras soluciones BI.

Ya habías escuchado de Hadoop o de su ecosistema? Que proyectos o herramientas considerarías ideales para potenciar tus proyectos BI? Conoces algún otro proyecto?

Especialista en Business Intelligence con experiencia en herramientas como Pentaho, Microsoft y Microstrategy.
Inmerso en Big Data, las Nuevas Tendencias, el Futbol y la Música.

BasesNoSQL_MongoDB

Bases de Datos NoSQL: MongoDB

Una vez decides emprender el camino del conocimiento de las Bases de Datos Big Data es necesario tener  presente que conceptualmente son diferentes a las bases de datos relacionales.  Entre ellas las bases de tipo documental como MongoDB que por su composición es una muy buena opción con la cual puedes empezar en este mundo, aunque veremos cambios conceptuales tendremos una visión clara de cómo nos podemos beneficiar de su uso.

Bases de Datos Documentales

Como hemos visto anteriormente, estas bases permiten almacenar estructuras de datos las cuales llamamos documentos que pueden ser de distintos tipos como XML, YAML y JSON principalmente, la gran ventaja es que los documentos no necesariamente deben seguir una misma estructura de manera que fácilmente podremos crear aplicaciones dinámicas y escalables.

Existen distintas bases de datos NoSQL documentales tales como: CouchDB, OrientDB, RavenDB, Terrastore, entre otras, hoy vamos a ver una base que goza de uan buena posición en el RankingDB  y desde que empezó a tenido un considerable crecimiento incluyendo una comunidad cada vez más grande, hablaremos de MongoDB.

¿Qué es MongoDB?

Es una base de datos NoSQL  cuya principal característica es almacenar la información en estructura documental más exactamente lo que conocemos como JSON (Java Script Object Notation), aunque internamente son almacenados en formato BSON (Que vendría siendo la representación binaria de cada documento).

La ventaja al almacenar los datos en formato documental es que gozamos de una ventaja muy interesante frente a las bases tradicionales y es precisamente disponer de un esquema dinámico, cómo así?… pues que no es necesario que todos los documentos almacenados tengan la misma estructura o el mismo esquema, veamos un ejemplo:

ejemplo-documentos-en-NoSQL
Ejemplo de documentos en base de datos NoSQL

En la anterior imagen podemos observar dos documentos con información de dos facturas y su respectivo detalle, como vemos ambos tienen internamente un array de documentos llamado “ítem”, el cual uno tiene dos objetos y el otro solo uno…de igual manera el primero tiene un array adicional de cadenas llamado “intereses” el cual no tiene el segundo.

Esta característica es muy interesante debido a que aparte de administrar y gestionar el espacio de almacenamiento en una sola operación podríamos obtener una gran cantidad de  información.

Nomenclatura RDBMS vs MongoDB

Veamos la nomenclatura de los distintos términos de los componentes de ambos tipos de bases:

Nomenclatura MongDB vs RDBMS
Nomenclatura MongDB vs RDBMS

Como podemos observar en la tabla anterior, ambos tipos de bases de datos manejan casi los mismos componentes..

Un aspecto muy importante a tener en cuenta es que los documentos no pueden exceder los 16 MB de tamaño, pero al mismo tiempo existe otra funcionalidad llamada GridFS cuya finalidad es extender dicha limitante para permitir almacenar documentos de GB o incluso TB (Podrías usar ésta opción en caso de que desees leer porciones de archivos de gran tamaño sin necesidad de tener que cargar todo su contenido en memoria).

Familiarizarnos con los términos no es tan complicado pues la lógica sigue la misma estructura que conocemos, por el contrario una de las principales diferencias y gracias a que MongoDB no soporta Joins debido a su estructura de datos desnormalizada, son los distintos metodos a tener presente en el modelado de datos los cuales veremos en el siguiente apartado.

Modelando datos en MongoDB

Como comenté anteriormente, debemos cambiar un poco nuestra lógica de modelado de datos…venimos de definir nuestros modelos de datos teniendo en mente siempre los requerimientos de la información solicitada y por supuesto las Formas de Normalización donde lo normal es llegar hasta la 3FN o incluso 4 y 5FN (Aunque existen muchos aspectos más pero viniendo al tema tratado resalto estas por el momento).

Debemos centrarnos en identificar el camino más corto para recuperar la mayor cantidad de información posible

Hasta aquí todos estamos familiarizados, por el contrario en MongoDB diseñamos nuestros modelos analizando y teniendo en mente el cómo vamos a recuperar la información, a que me refiero?…como observaste en la primer imagen (Ejemplo de documentos en base de datos NoSQL) podemos ver fácilmente que podemos almacenar distintos tipos de información en un solo documento, si lo llevamos a un modelo relacional fácilmente tendríamos las siguientes tablas: Factura, Detalle Factura , Cliente, Tipo de Pago, Intereses, Ítem y Tiempo.

Así mismo se debe tener presente como diseñar y elegir la estructura de los documentos, viendo la misma imagen podemos leer el contenido de dos maneras, puede ser tanto una colección de Clientes como de Facturas…pero el verdadero valor de ventaja estará representado en cómo necesitas obtener los datos.


Supongamos que es una colección de Clientes, si consultamos constantemente solo información del cliente pero muy de vez en cuando sus facturas, estaríamos desperdiciando memoria y procesamiento de la base pues debemos realizar un trabajo extra para extraer una cantidad de información innecesaria. Por el contrario si lo que necesitamos es consultar constantemente las Facturas realizadas, la información del Cliente y el detalle de lo facturado, sería una ventaja tener todo en un mismo documento pues con una sola consulta estamos obteniendo toda la información deseada.

Por supuesto cabe anotar que debes tener presente el crecimiento de los datos a futuro, por eso es importante saber que se quiere como finalidad del proyecto para así poder realizar un buen modelado de datos.

Veamos los distintos tipos de modelado de datos que podemos encontrar.

· Modelado Uno a Uno

En este modelado la finalidad es embeber datos altamente relacionados dentro de una misma estructura o documento, facilmente podemos incrustar o embeber documentos dentro de otros documentos. Al tener este tipo de modelo de datos desnormalizados nos permite recuperar y manipular los datos rapidamente.

Modelado Uno a Uno MongoDB
Modelado Uno a Uno MongoDB

· Modelado Uno a Muchos

En este modelado la finalidad es identificar aquellos datos mucho más descriptivos relacionados entre sí y almacenarlos en una misma estructura, regularmente se identifican con arrays de distintos tipos como: documentos, cadenas, números y podrían representar por ejemplos datos como listas de direcciones, de libros, varias etiquetas, números telefónicos, amigos, colores favoritos, etc.

Modelado Uno a Muchos MongoDB
Modelado Uno a Muchos MongoDB

· Modelado Uno a Muchos con Referencias

Debido que no se soportan Joins por mantener un esquema desnormalizado, posee una funcionalidad que permite almacenar información relacionada en documentos separados dentro de una misma base de datos como en distintas bases de datos, lo que conocemos como un link en Oracle.

De igual manera existen dos opciones:

-Referencia Manuales

Usada principalmente para relacionar documentos entre dos colecciones.


> db.albums_friends.findOne()
{
"_id" : 1,
"height" : 480,
"width" : 640,
"tags" : [
"cats",
"sunrises",
"kittens",
"travel",
"vacation",
"work"
]
}

> db.images.findOne()
{
"albums_friends_id" : 1,
"images" : [
2433,
2753,
2983,
6510,
11375,
12974,
15344,
16952,
19722,
23077,
24772,

]
}

-DBRefs

Esta opción nos permite referenciar documentos de múltiples colecciones, la ventaja es que en éste caso también  podemos indicar tanto la colección como la Database donde se encuentran.

> db.images.findOne()
{
        "albums_friends_reference" : {
                  "$ref" : "albums_friends",
                  "$id" : 1,
                  "$db" : "albums"
               },
        "images" : [
                2433,
                2753,
                2983,
                6510,
                11375,
                12974,
                15344,
                16952,
                19722,
                23077,
                24772,
                
        ]
}
Haz parte de mi Newsletter
I agree to have my personal information transfered to MailChimp ( more information )
Únete y haz parte como otros visitantes que reciben semanalmente mi newsletter con noticias y artículos actualizados sobre Business Intelligence y Big Data.
Al igual que tú, no tolero el SPAM. Tu dirección de email no será compartida.

Como nos ayuda en Big Data?

Como vimos en el artículo de introducción al Big Data es necesario que se cumplan ciertas características:

· Alta Disponibilidad

Gracias a su funcionalidad Replica Set, podemos almacenar nuestra información en más de un servidor a la vez de manera que nunca se pierda disponibilidad si alguno llega a fallar y al mismo tiempo brinda durabilidad.

· Escalabilidad Horizontal

Sharding permite particionar nuestros datos a través de un Cluster de servidores permitiendo dividir nuestras cargas de disponibilidad, escalando fácilmente y de manera inmediata.

· Atomicidad

Una gran ventaja al no disponer de transacciones, es que las operaciones se realizan de manera atómica, lo que quiere decir que si insertamos un dato una vez el servidor confirme la operación éste permanecerá hasta que se modifique o elimine…funcionando de igual manera para todas las operaciones, con esto garantizamos consistencia en los datos.

· Almacenamiento de grandes bancos de información

La combinación de las funcionalidades anteriores hacen de ésta base de datos NoSQL una buena opción siempre que aplique y dé solución a nuestros requerimientos, un buen diseño nos brindara una solución altamente escalable y disponible.

· Schemaless

Como vimos en el apartado anterior, nos permite definir la estructura de los datos que vamos a almacenar según sea el requerimiento, esto no quiere decir que no debamos controlar tanto el desarrollo de nuestra aplicación como el de nuestra base….por el contrario es necesario definir bien nuestros modelos de datos pues a futuro puede impactar enormemente en el rendimiento y el crecimiento de la misma.

Recursos

Si esta introducción a MongoDB te ha gustado, de seguro estarás interesado en profundizar los distintos temas tratados y en aprender mucho más. Gracias a su gran acogida y al crecimiento exponencial de uso de la misma, han creado una serie de recursos gratuitos de los cuales puedes sacar bastante provecho, yo por mi parte he tomado todo lo que voy a referenciarte y aunque la mayoría es en ingles también hay material en español así que te invito a que profundices!

· Mongo University

Es un espacio donde los mismos desarrolladores y profesionales la base de datos comparten su conocimiento al público, existen cursos de distintos niveles y perfiles. Lo increíble es que puedes tomar los cursos que desees y además te obsequian un certificado que puedes colocar en tu perfil de Linkedin, puedes ver en mi perfil en la sección de Certificaciones como lucen.

MongoDB University

· Mongo Webinars

Tiene la misma finalidad que el anterior pero la diferencia es que es en vivo y en formato webinar, donde además de interactuar con un experto también lo haces con profesionales interesados en el tema, existen secciones en español pero debes estar pendiente…puedes registrarte al instante.

MongoDB Webinars

· Mongo MUG

Haz escuchado de la aplicación Meetup? Pues esta aplicación funciona como una red social que permite a sus usuarios realizar reuniones en la vida real. Actualmente existen más de 100 grupos alrededor del mundo, puedes elegir el más cercano y prepararte para la próxima reunión!

MongoDB User Group

· Mongo Community

Por supuesto también puedes encontrar absolutamente todo lo relacionado con MongoDB en la siguiente dirección

MongoDB Community

· Mongo Blog

Posiblemente uno de los recursos principales, además de contar con información sobre los avances de las versiones y sus mejoras también encontrarás artículos prácticos donde aprenderás muchísimo.

MongoDB Blog

 

Espero que te haya gustado el artículo, te motive a leer y aprender un poco más de esta increíble base de datos NoSQL. Te informo que en los siguientes artículos profundizare sobre el almacenamiento, manipulación de documentos, explicaré como configurar ReplicaSet, Sharding…nos veremos pronto!



¿Qué opinas de MongoDB ? Te parece interesante y te gustaría probarla? Tienes alguna idea en la que creas que puedes utilizarla?

Especialista en Business Intelligence con experiencia en herramientas como Pentaho, Microsoft y Microstrategy.
Inmerso en Big Data, las Nuevas Tendencias, el Futbol y la Música.

Lista de los 20 Mejores Blog BI-Big Data

Lista de los 20 Mejores Blogs de BI y Big Data

En este artículo vas a encontrar una selección de distintos blogs que durante mucho tiempo me han ayudado a resolver dudas teóricas y prácticas. Algunos incluso gracias a su aporte, dejaron una visión clara para mí de cara a tomar la decisión de direccionar mi carrera profesional por el BI. Hoy en día y ya más enfocado en Big Data, también hago referencia blogs de gran calidad en este campo, sin más…pasemos a la Lista de los 20 mejores Blogs de BI y Big Data.

 

Que encontrarán…

Encontraremos distintos contenidos y tipos de blog, formados por profesionales que con sus experiencias aportan información  de calidad valiosísima para todos nosotros, donde  además de mostrar noticias y avances algunos son expertos en distintas herramientas y soluciones brindando artículos mucho más prácticos.

El listado está divido en secciones las cuales te ayudaran a dar una visión general de que puedes encontrar en cada uno.

 

 

Blogs Personales de Profesionales

La primera sección está destinada a referenciar aquellos blogs de profesionales que decidieron aportar valor constante a esta gran comunidad y de una u otra forma han servido de apoyo para resolver distintas dudas tanto técnicas como teóricas.

 

1. Business Intelligence Fácil

Este blog fue el primero que seguí cuando decidí especializarme en BI, pertenece a  Pau Urquizu y en su blog explica detalladamente aspectos importantes que debes tener claros a la hora de estar en este negocio con información de calidad. Recuerdo solucionar mi primer duda sobre tipos dimensiones en uno de sus post!!! Lo mejor es que su esencia es generar valor de la información con herramientas y usos que sean fáciles e intuitivas para los usuarios del negocio, es por eso que ahora es socio de una herramientas llamada CRONO muy buena, la cual puedes explorar y encontraras rápidamente lo fácil que es su uso.

blog_Business_Intelligence_Facil_BI

 

2. TodoBI

Es un blog muy completo, inicialmente es empresarial cuyo enfoque es el uso de tecnologías Open Source en BI y en Big Data, la organización es muy conocida en el mundo Opens Source, se llama Stratebi y en ella hace parte Emilio Arias, quien también es referente de BI en España (por cierto impartió una de las materias del Master en BI que cursé). Sus soluciones se basan en la plataforma Pentaho y actualmente ya cubre todas las características necesarias de integración con Big Data.

Al estar enfocado en brindar soluciones OS cuentan con distintos tutoriales que te permiten dar una visión del funcionamiento y gran utilidad que te pueden brindar realizar proyectos con este tipo de herramientas.

blog_TodoBI_BIBigData

 

3. Dataprix

Este blog es sumamente grande, nos brindan una abierta noción de distintas herramientas y tecnologías  para muchas categorías entre ellas BI y Big Data,  muy completo cuando deseas obtener una idea de qué herramienta usar para tus proyectos, también tiene un apartado de foro donde puedes dejar tus dudas y en un tiempo prudente algunos de los profesionales te dará respuesta conforme a su conocimiento y experiencia del tema.

blog_DataPrix

 

4. Josep Curto

Otro gran exponente del BI y Big Data experto con mucha experiencia en el campo. Tuve la fortuna de recibir clase de él durante el curso de mi especialidad, es muy claro conceptualmente y deja muy en claro los aspectos prácticos. Actualiza el blog moderadamente pues da cátedras en distintas universidades. Un blog con información muy valiosa.

blog_JosepCurto_BI

 

5. Business Intelligence Blog (BIB)

José María es otro apasionado  del BI, con más de 20 años de experiencia comparte en su blog todo tipo de contenido como técnico,  noticias, avances desde distintas perspectivas del negocio y actualmente generando contenido en Big Data. Puedes navegar sin problemas por su blog y encontrar información variada y actualizada.

blog_BIB_BI

 

6. UOC

El blog propio de la universidad donde me especialice. Sin más es un blog administrado por los mismo docentes quienes tiene una grandísima experiencia y manejan a la perfección muchísimos temas, tiene características muy interesante y por supuesto aquellas que nos competen, es actualizado y muy recomendado. De igual manera te brinda de entrada una garantía de la información que vas a obtener.

blog_UOC_BI

 

7. Roberto Espinosa

Roberto es otro gran exponente del BI, aunque su blog dejo de frecuentarlo, lo referencio debido a que en mis inicios también me ayudo bastante en distintos aspectos como en el modelado de datos y en el manejo de soluciones con Pentaho, la cual con ésta tuve mi primer acercamiento y proyecto en BI.  Con mucho contenido práctico te ayuda a solucionar distintas dificultades que muy seguramente estoy seguro te pueden servir si quieres conocer un poco más a fondo cómo funcionan las OS. Roberto hoy día está mucho más activo en el blog de Dataprix.

blog_Roberto_Espinosa_BI

 

8. Raúl Hernández Luque

Raúl es otro gran exponente del BI, con muchos años de experiencia es uno de los más activos, cada vez deja en claro su dominio, el contraste de situaciones reales que le suceden a muchas organizaciones con ejemplos prácticos cotidianos te da una visión perfecta  de cómo puedes actuar o como puedes innovar a la hora en que te suceda a ti.

Combinando su conocimiento con el marketing podemos tener una clara visión de cómo distintas profesiones pueden contrastar y generar un bien común para la organización.

blog_Raherlu_BI

 

9. SoyData

Al igual que todos los anteriores, su creador Jorge tuvo la iniciativa de tener un espacio colaborativo para la comunidad. En el aspecto enfocados al Big Data y su pasión por el Análisis de datos demostrando un perfil más de Data Science. Muy activo y actualizado y siempre al corriente de fabulosas tecnologías.

También brinda un espacio de capacitación en distintas herramientas analíticas indispensables para potenciar tu formación profesional.

Blog_SoyData_BigData

 

10. BI-Spain

Este blog o más bien portal, está dedicado a impartir información sobre BI. En el podremos encontrar información de muchas herramientas analíticas, también teoría y presentaciones como webinar  en vivo o gradas al servicio de la comunidad todo con el fin de mantenerte informado con la últimas novedades de nuestro entorno.

blog_BILatino_BI

 

Haz parte de mi Newsletter
I agree to have my personal information transfered to MailChimp ( more information )
Únete y haz parte como otros visitantes que reciben semanalmente mi newsletter con noticias y artículos actualizados sobre Business Intelligence y Big Data.
Al igual que tú, no tolero el SPAM. Tu dirección de email no será compartida.

 Blogs Especializados por Herramientas

La segunda sección está destinada a aquellos blog mucho más técnicos que durante mi experiencia laboral he logrado solucionar inconvenientes con distintas herramientas.

Son mucho más especializados en cada una de las presentadas que de seguro encontraran muy interesantes.

 

Pentaho

 

11. Pedro Alves

Debo mencionar que Pedro desde mi punto de vista es uno de los más grandes conocedores e impulsadores de Pentaho.

Hace algunos años fue quien gracias a sus aportes a la comunidad pude aprender profundamente todo lo relacionado con Pentaho. Hay que aclarar que hace unos 5-6 años atrás la comunidad no era tan extensa y que profesionales como Pedro nos brindaban esa información  que difícilmente lograbas encontrar en otros sitios.

blog_Pedro_Alves_BI

 

12. Red OpenBI

Mariano es el principal actor de esta iniciativa, al igual que Pedro Alves  desde mi punto e vista es otro de los más grandes exponentes e impulsadores de la tecnología OS con Pentaho. Mariano es de Córdoba Argentina y responde muy activo a las inquietudes presentadas en distintas instancias del uso de la herramienta.

Es muy bueno y variado, ideal para profesionales que si bien están iniciando, también tienen experiencia pues abarca todo tipo de respuestas.

De igual manera podemos encontrar a Mariano colaborando en muchos otros sitios y blogs.

blog_RedOpen_BI

 

13. PentahoHispano

El propietario es Juanjo, también aportando sobre soluciones OS. Aunque hace poco más de un año que no realiza publicaciones,  es de resaltar que la información que brinda actualmente es de suma importancia, al igual que los ponentes anteriores está inmerso con Pentaho así podrás obtener muy buena fuente de información.

Blog_JuanjoOrtilles_BI

 

Microstrategy

 

14. Bryan’s BI Blog

Bryan tiene distintos conocimientos pero su contenido principal está enfocado en soluciones bajo Microstrategy.

Si has trabajado con Microstrategy debes sabes que dispones una gran arquitectura para llevar a cabo un proyecto, Bryan te permite comprender aspectos que van desde la administración de la metadata hasta la creación de métricas incluyendo por ejemplos distintas variables en sus niveles.

Aunque es en inglés, la mayoría de las veces acompaña sus artículos con imágenes y explicaciones muy técnicas de manera que se hace fácil entender lo que dice y hace.

blog_Bryan_BI

 

15. Abel García

Abel es consultor BI con mucho experiencia en el campo, al igual que nuestro anterior blog, está enfocado completamente en Microstrategy, también realiza fabulosas guías ya en español donde te ayuda de otra forma a solucionar problemas de negocio o técnicos con la herramienta como a enriquecer tu conocimiento y manejo de la misma.

Ya no esta tan activo, pero de igual manera  el contenido que dejo es muy valioso y útil.

Blog_Abel_Garcia_BI

 

16. Sankaran T

Sankaran es otro exponente del BI, con mucha experiencia en el campo es otro experto de esta completa herramienta que con su aporte nos brinda apoyo en nuestras labores como desarrolladores, analistas o arquitecto con publicaciones con regularidad.

Blog_Sankaran_BI

 

Microsoft

 

17. SQL Server Si!

Salvador Ramos es su propietario, hace bastante tiempo le sigo y es experto en Microsoft para BI. Por dicha razón siempre está al tanto de las últimas novedades y aplicaciones de esta completa Suite, con ejemplos prácticos que dejan ver el gran beneficio, igualmente también brinda capacitaciones y master especializados

blog_sqlserver_BI

 

18. Alan Koo Labrin

Alan es MVP al igual que Salvador. De igual manera expone todas las novedades y presentaciones realizadas por él. Un blog muy detallado sobre funcionalidades y manejo de la Suite con situaciones reales y sus experiencias.

blog_Alankoo_BI

 

19. Paul Turley’s SQL Server BI

Paul al igual que los presentados anteriormente es otro MVC, su blog está catalogado dentro del Top 50 de Sql Server y constantemente está aportando a la comunidad. Con artículos más detallados de tipo Step by Step, explica las novedades y funcionales, algo muy práctico pues es en inglés y te da una guía fantásticas.

Blog_PaulTurley_BI

 

R

 

20. Revolutions R + Bonus

Este está al tanto de todas las novedades y actualizaciones de R. No puede faltar en tu lista si estas interesado en este software que cada año es más usado y preferido por los Data Science, con tutoriales y presentaciones de graficas de nuevas funcionalidades te va dando una introducción a lo quedes hacer y lo que puedes llegar a conseguir.

Además me permito referenciar otros blogs con valiosa información sobre esta herramienta analítica y estadista. Con noticias exclusivas de versiones y paquetes como tutoriales y ejemplos prácticos de manera que tú mismo puedes realizar y entender sin inconvenientes.

Si quieres aprender sobre Data Science por estos sitios debes pasar.

 

blog_Revolutions_R blog_R-Inside_R blog_R-Statistics_R

Smiley face

Como te puedes dar cuenta es una lista extensa, pero de seguro te servirá para ampliar tus referencias sobre BI, Big Data y Data Science, estar actualizado y mantenerte informado sobre distintas tendencias y novedades de nuestro interés.

Por supuesto pude haber dejago alguno por fuera…

Cual otro me recomendarías? Crees que dejé pasar uno importante para ti? Te gustaría crear otra sección? Cuéntame tus favoritos y ampliamos la lista!

Especialista en Business Intelligence con experiencia en herramientas como Pentaho, Microsoft y Microstrategy.
Inmerso en Big Data, las Nuevas Tendencias, el Futbol y la Música.

sin un uso mesurado de los datos podrían ser nuestro talón de aquiles

Los nuevos datos, nuestro talón de aquiles?

Todos sabemos que la gran ventaja competitiva que vivimos hoy en día se soporta sobre el tener información adicional de nuestros clientes para entender su comportamiento y lograr predecir qué decisión tomará. Pero, qué pasaría si los datos que recolectamos terminan infringiendo la privacidad de las personas?

 

Los datos son materia prima para las organizaciones y su análisis un bien imprescindible, las organizaciones que logren explotar el potencial del Big Data contaran con una ventaja competitiva muy importante…pues para nadie es un secreto que conocer mejor a nuestros clientes, sus gustos y preferencia nos puede ayudar a mejorar nuestra comunicación con ellos, convirtiéndola en el mejoramiento continuo de nuestros servicios y productos, a fin de lograr una fidelización más estable y duradera.

Es por eso que antes de decidir encaminarse hacia un proyecto Big Data debemos tener claro a donde queremos llegar y cómo lo queremos lograr, debemos prestar atención a que datos vamos a necesitar recolectar? que vamos a hacer con los datos recolectados? y si en realidad vamos a necesitar todos esos datos recolectados.

Es necesario recolectar cualquier dato?

Es una de las primeras preguntas que debemos hacernos cuando nos vamos a encaminar en nuevo proyecto, mucho más si estamos pensándolo desde el punto de vista evolutivo del Business Intelligence. Recolectar por recolectar esta demás, si bien nos encontramos en una era donde los datos son los que mandan, también nos encontramos en la era donde hay que saber cuáles son los más óptimos y cómo podemos sacar provecho de ellos. De nada sirve recolectar por recolectar bancos y bancos de datos que a fin de cuenta terminen por perturbar a las personas.

Por ejemplo

Supongamos que tenemos varios puntos de ventas de nuestra línea de productos en nuestra ciudad, podríamos aprovechar la información georreferencia que generan nuestros clientes o seguidores (Muchas veces sin su consentimiento aunque cada vez más son más instruidos y capacitados de cara a la tecnología) para que cuando se encuentren cerca de alguna de nuestros puntos de ventas, les enviemos mensajes de promoción mediante mensajes directos al correo o al móvil. Esto minimiza el spam, minimiza nuestros esfuerzos por llenar de publicidad a nuestros clientes y nos permite hacer un marketing más directo y efectivo. Imagínate la sorpresa del cliente cuando unos metros antes de pasar por tu punto de venta le llegue un bono de descuento del 30% o 40% para un producto que ha consumió anteriormente o para que pruebe un nuevo producto.

Este ejemplo no está para nada lejos de la realidad, pero a nuestros clientes les gustaría la idea de que sepas en donde se encuentra? En cierta forma eso estás haciendo, estas identificando un patrón de movilidad para poder saber en qué momento pasará cerca de alguno de tus puntos de ventas, una ventaja para ti porque dispones de información que no tiene tu competencia y te limitas a hacer un marketing más directo…pero por parte del cliente queda la sensación de verse perseguido o que están violando su privacidad.

Debemos tener presente hasta qué punto debemos llegar para nuestro beneficio y el de los clientes, muchas veces por el afán de recolectar y recolectar información hacemos uso extremo de los datos y terminamos perjudicándonos nosotros mismos.

No es lo mismo saber los gustos y preferencias de nuestros clientes, que saber siempre y en cada momento en donde se encuentra.

Que debemos tener en cuenta?

Debemos identificar los datos que nos van a servir a cumplir nuestros objetivos pero al mismo tiempo minimizar el riesgo de irrumpir en la privacidad de las personas, generalmente queremos valernos dependiendo de nuestra proyección de aspectos importantes como: que se dice de nosotros en la red o cuales son los gustos o preferencia de las personas en la red, en este contexto podemos contemplar gustos, favoritos, comentarios, post, grupos sociales, sitios frecuentes, sitios que frecuenta, fotos etc. Esto nos serviría para segmentar nuestras campañas de publicidad, para impulsar productos existentes o crear nuevos productos basados en lo que se dice, algo mucho más versátil y de impacto.

Pero también podríamos querer predecir cuál será el próximo producto que consumirá el cliente en su próxima compra, si dejara de ser cliente nuestro o si por el contrario es un riesgo para nuestra proyección, que producto consumirá basado en la recomendación de un amigo o que piensa regalar en el próximo día del padre, en este caso necesitaríamos contemplar datos históricos de transacciones de compras de nuestros productos combinados con gustos y preferencias y grupos y preferencias de sus amigos o seguidores, etc.

Como ven, en los ejemplos anteriores no fue necesario en ningún momento los datos de ubicación, pues analizamos datos históricos combinados con actuales provenientes de nuevas fuentes y que en cierta forma no atentamos contra la privacidad del usuario.

Qué pasaría si se sienten amenazados?

Existen diversas acciones que pueden tomar las personas una vez sienten miedo acerca de lo que sucede con su información en la red. La primer acción será empezar minimizar y prestar muchas más atención a los datos que brinda, dejará de compartir sus gustos, preferencias, ya no publicará fotos o comentarios sobre sitios preferidos y buscará la manera de todo portal o aplicación (haciendo referencia al ejemplo anterior) su ubicación geográfica.

Esto claramente es un problema para tu organización, pues gracias al uso excesivo de los datos prácticamente terminaste perdiendo un flujo de información valioso para tu estrategia ya implementada, ahora, si tu estrategia se basada en los datos que ya han dejado de proporcionar…no se convertiría proyecto en un futuro fracaso.

Por eso y para finalizar, me gustaría mencionar algunos aspectos que podríamos tener presente antes de utilizar datos de redes sociales e internet en general para nuestro beneficio, es cierto que existen leyes que permiten salvaguardar la información personal, pero hoy por hoy que nos podemos valer de cualquier dato de los usuarios, es necesario que la utilicemos con mesura y privacidad.

Aspectos a tener en cuenta:

  • Hacer saber a nuestros clientes que tipo de datos suyos vamos a usar para generar un beneficio mutuo.
  • Hacer saber lo métodos de utilización y privacidad de datos que vamos a aplicar para mejorar nuestros programas publicitarios.
  • Si vamos a utilizar georreferenciación, enfatizar y promover su uso mediante incentivos y hacer saber su política de explotación para minimizar el miedo que esto conllevaría.
  • Dinamizar nuestros productos y hacerlo saber para recordarle al cliente que su información es valiosa y que la tenemos siempre en cuenta.
  • Ejercer participación activa en todos los medios de donde vamos a recolectar información, esto generar un voto de confían y buena imagen frente al cliente. A fin de cuenta ambas partes se van a beneficiar.

Como vemos, podemos aprovechar el Big Data para múltiples beneficios pero siempre definiendo y enfatizando la delgada línea de lo que queremos lograr, pues no nos sirve de nada recolectar datos donde una vez almacenados no nos sirvan para cumplir nuestros objetivos y más bien terminen perjudicándonos.

Haz parte de mi Newsletter
I agree to have my personal information transfered to MailChimp ( more information )
Únete y haz parte como otros visitantes que reciben semanalmente mi newsletter con noticias y artículos actualizados sobre Business Intelligence y Big Data.
Al igual que tú, no tolero el SPAM. Tu dirección de email no será compartida.

Que otro aspecto deberíamos tener en cuenta para implementar nuestro proyecto Big Data de cara a los datos recolectados de los usuarios en internet? Crees que es necesario mantener siempre informado al usuario de lo que vamos a hacer y cómo lo vamos a hacer?

Especialista en Business Intelligence con experiencia en herramientas como Pentaho, Microsoft y Microstrategy.
Inmerso en Big Data, las Nuevas Tendencias, el Futbol y la Música.

Bases-NoSQL-BigData

Bases de Datos NoSQL: Especiales para Big Data

Hoy en día nos enfrentamos a un gran cambio de paradigma en cuanto a almacenamiento y procesamiento de datos se trata, gracias a la evolución de grandes compañías como Google, Amazon, Linkedin, Facebook y muchas más, han salido a luz una seria de soluciones en modalidad Opens Source que nos benefician en gran medida.

Las Bases de Datos NoSQL tienen como principal característica que solucionan los principales problemas que presentábamos en la actualidad:

Escalamiento horizontal: Ya no necesitamos depender de un proveedor de hardware para potenciar nuestras soluciones.
Disponibilidad de los datos: Podemos distribuir en cuanto equipo y capacidad económico dispongamos si necesidad de que sean robustos.
Solución a fallas o cortes de red: Disponemos de un ecosistema interconectado el cual siempre en gran medida vamos a tener disponibilidad de los datos.

Actualmente contamos con una tecnología que mezcla una seria de características que nos ayudan en cierta parte a cubrir los aspectos anteriormente expresados, tal como lo dije, éste cambio de paradigma nos permite entre otras cosas almacenar y tratar grandes bancos de información, tener información disponible, información incluso definida geográficamente y tolerar errores por falta de conexión…éstas soluciones las conocemos como Bases de Datos NoSQL.

Un poco de historia…

El término NoSQL en cierta forma se referenció hace un buen tiempo. Inicialmente fue usado a finales de los 90’s cuando Carlo Strozzi desarrolló su propio SGBD el cual no usaba SQL, ésta base de datos almacenaba sus tablas dentro de archivos ASCCI donde cada tupla de valor era representada por un fila de campos separados por Tabs, debido a que no usaba SQL para consultar los datos, básicamente ejecutaba Scripts sobre el Shell de UNIX.
Luego con el inminente éxito Google en el 2003 se dio a luz el primer proyecto de bases de datos NoSQL llamado BigTable y un poco después apareció Marklogic para el 2005, por supuesto todo esto debido a la necesidad de cubrir ciertas limitaciones que encontraban en sus sistemas SGDB tradicionales, las cuales debido al crecimiento de usuarios, de datos y procesamiento cada vez mayor y de peticiones en tiempo real, debían buscar otras alternativas de almacenamiento y disponiblidad de datos.

A partir de éste momento distintas organizaciones consolidadas como Linkedin, Facebook, Last.fm, Powerset, Couch.io hicieron lo mismo y presentaron sus proyectos en un distintivo meetup de San Francisco en Junio del 2009 presentado por Johan Oskarsson donde explicaban y debatían ciertos aspectos sobre estas nuevas bases de datos.

Entrando en materia

Ya teniendo claro de donde provienen estas fascinantes bases de datos, vamos a verlas un poco más a fondo.
Las bases de datos NoSQL tienen como principal característica la no utilizan del lenguaje de consulta SQL, conocido por todos nosotros, pues al proveer un ambiente altamente distribuido  sería muy complicado realizar algún tipo de Join o consulta entre todos los servidores de un Cluster. También están diseñadas para permitir almacenar y gestionar grandes bancos de información…por ejemplo, Facebook hasta hace un año atras almacenaba, consultaba y analizaba más de 30 Petabytes de datos generados por los usuarios!!!

Existen distintos tipos de bases de datos y cada una nos permite solucionar distintos problemas debido a su enfoque particular.
Al existir distintos tipos de bases NoSQL, podremos obtener la capacidad de utilizar distintas tecnologías dentro de un mismo ambiente, cada una colaborando en un aspecto y funcionalidad puntual, esto se conoce como Persistencia Poliglota.

Características

Dentro de las principales características podemos encontrar:

  • No usan SQL como lenguaje de consulta estándar
  • La información almacenada no requiere un formato o esquema definido (Schemalees)
  • Permiten escalabilidad horizontal
  • No garantizan ACID, esto para mejorar el rendimiento y disponibilidad
  • Presentan operaciones atómicas
  • Permiten replicación y distribución
  • Almacenamiento de grandes bancos de información
  • Solo pueden cumplir 2 de las tres caracteristicas del teorema CAP: Tolerancia, Disponibilida y Tolerancia a Fallos o Particionamiento de Red

Tipos de NoSQL

Aunque a partir de los últimos años se han venido creando distintos tipos de bases datos, presentaré las más utilizadas. Es necesario aclarar y recordar que es importante analizar si verdaderamente es necesario aplicar cualquiera de estas bases para solución de nuestros problemas, pues debemos dedicar tiempo a investigación o incluso dinero si deseas tercerizar el desarrollo.

1. Documentales

Como su nombre lo indica, en ellas podemos almacenar datos de tipo documento, los cuales pueden ser de tipo XML, JSON o BSON principalmente. Como indiqué anteriormente, no es necesario seguir una estructura definida para cada documento, lo cual brinda inmensa versatilidad. Son muy comunes y se acoplan muy bien a soluciones donde deseamos extender.

A continuación veamos la comparación de dos documentos:

base de datos NoSQL Documental
Ejemplo de base de datos NoSQL Documental

Algunas de las bases de datos más populares de éste tipo son:

MongoDB, CouchDB, OrientDB, RavenDB

2. Familia de Columnas o Columnares

Almacenan los datos cambiando nuestra lógica transaccional de filas a columnas. Tienen como característica principal que dentro de una fila podemos encontrar distintas columnas relacionadas a un Key y a su vez cada columna contiene un par (Key-Value) que hace referencia al campo y su valor. La ventaja que presenta es que no es necesario que todas las filas tengan las mismas columnas ni la misma cantidad de columnas, permitiendo adicionar columnas a cualquier fila y en cualquier momento.

Veamos una imagen como referencia:

bases de datos NoSQL ColumnFamily
Ejemplo de bases de datos NoSQL Column Family

Algunas de las bases de datos más populares de éste tipo son:

Cassandra (Facebook), HBase (Twitter), Hypertable, Amazon SimpleDB

3. Llave-Valor (Key-Value)

Este tipo de bases podríamos decir que son las más simples, en ellas podemos almacenar por cada registro una tupla de Key-Value. Para obtener los valores simplemente consultamos por el Key y por supuesto es necesario definir una Key que defina nuestra estructura lo mejor posible, entre tanto podemos encontrar tipo de valores como: Listas, String, Arrays, Arrays ordenados, Hash con los cuales podríamos relacionar otros campos, Arrays de bits. Variando de producto en producto.

Veamos una representación:

bases de datos NoSQL Key Value
Ejemplo de bases de datos NoSQL Key-Value

Algunas de las bases de datos más populares de éste tipo son:

Redis, Riak, Voldemort (LinkedIn), Amazon DynamoDB, Berkeley DB

4. Grafos

Estas bases de datos particularmente nos ayudan a almacenar datos relacionados bajo muchos niveles, imaginémonos representaciones de amigos de mis amigos o productos que relaciones a distintos clientes de distintas nacionalidades. Al ser de tipo grafo, tenemos dos elementos distintivos: Los Nodos, cuya finalidad es representar las entidades (Personas, Productos) con sus respectivas propiedades (Cuit,Nombre) y las Relaciones o Aristas, cuya finalidad será representar tanto el tipo como la dirección de nuestra relación (Gustos, Si amigo o no, Ubicación) con sus respectivas propiedades. También podemos hacer consultas transversales de modo que podemos ampliando el rango de resultados.

Veamos una representación:

bases de datos NoSQL Grafos
Ejemplo bases de datos NoSQL Grafos en . Fuente: cmaps

Algunas de las bases de datos más populares de éste tipo son:

Neo4J (eBay), Inifinite Graph, FlockDB

Haz parte de mi Newsletter
I agree to have my personal information transfered to MailChimp ( more information )
Únete y haz parte como otros visitantes que reciben semanalmente mi newsletter con noticias y artículos actualizados sobre Business Intelligence y Big Data.
Al igual que tú, no tolero el SPAM. Tu dirección de email no será compartida.

Algunas veces podemos encontrar que alguna base de datos entra en más de una clasificación, esto debido a que sus características le permiten adaptarse a distintas aplicaciones y soluciones.

Como podemos ver, tenemos un gran abanico de soluciones capaces de brindarnos distintas capacidades para potenciar nuestras plataformas BI Tradicionales o para empezar nuestros proyectos de Big Data. Debemos analizar sus funcionales y nuestro problema a raíz de poder cubrir nuestras necesidades.

 

Habías escuchado alguna de las bases de datos NoSQL mostradas anteriormente? Cuál de éstos tipos te parece más interesante? Cómo podrías usarlas? Haz usado alguna de las anteriores?

 

Especialista en Business Intelligence con experiencia en herramientas como Pentaho, Microsoft y Microstrategy.
Inmerso en Big Data, las Nuevas Tendencias, el Futbol y la Música.

Las 6V del Big Data

Las 6V del Big Data

En este artículo abordaré los principales aspectos del Big Data, generalmente denominadas como Las 6V del Big Data, mostrando en modo comparativo contra Business Intelligence Tradicional de manera que podamos visualizar fácilmente los beneficios que nos proporciona.

Tal como nos dimos cuenta en el artículo anterior, el Big Data es la tendencia principal del BI hoy en día.
Así que, porque no dedicarle un artículo completo?

 

 

Que es Big Data?

Cuando hablamos de Big Data, nos referimos específicamente  a un conjunto de técnicas y tecnologías que nos permiten almacenar, clasificar y analizar grandes volúmenes de datos, solucionando algunas limitantes que sufren actualmente nuestras plataformas de Business Intelligence Tradicional, entre otras la gestión y administración de nuevas fuentes de información.

Desde el contexto del BI Tradicional, estamos acostumbrados a tratar datos con crecimiento  diario o mensual no muy variado, pero siempre con el mismo tipo de dato (Estructurado y definido), las mismas fuentes (Tales como: Archivos Excel, TXT, ODS o Aplicaciones empresariales relacionales, entre otros), incluso contando con el mismo rango de tiempo de carga aprox. de 4 a 7 horas diarias…pero que pasaría, si nuestra organización  quisiera contar con información en tiempo real de lo que opinan sus clientes sobre un producto o servicio específico?

Vamos a un ejemplo de actualidad, la manera más ideal de obtener dicha información es mediante la medición en tiempo real de nuestras redes sociales.

Por ejemplo, todos hemos visto como las programas de televisión sacan provecho de esto, en particular con su programación en vivo…para un partido de futbol crean un Hashtag #FutbolParaTodos y mientras transmiten también muestran la cantidad de tweets o interacciones del público.

Ejemplo del uso de HashTag en Big Data
Ejemplo del uso de HashTag en Big Data

Ahora, volviendo a nuestra pregunta anterior…si nuestra organización o programadora de televisión quisiera incluir éste dato particular como métrica y así medir su impacto en Twitter, como lo podría soportar nuestra plataforma BI Tradicional?

Analícemelo como nueva fuente de datos:

Tipos de Datos: Claramente sería un nuevo tipo de dato, pues nuestra fuente de información que en este caso sería Twitter nos proporcionaría tweets en su propio formato, el cual en este caso serían documentos en formato JSON (JavaScript Object Notation).

Fuente de Datos: Estamos hablando de una fuente externa la cual no controlamos, estos datos no serían estructurados y ni tampoco cumplirían en primera instancia nuestros aspectos de meta data, ni análisis de información estandarizados por lo tanto esto conlleva a un gran trabajo de transformación.

Tiempo de Carga: Los flujos de datos deberán tomarse con lapsos de tiempo mínimos ya que como todos sabemos pueden haber miles de tweets por segundo, si nuestra solución tradicional  demora en su carga diaria mínimo 4 Horas…realmente lo podríamos soportar?

Cantidad de Datos: Todos sabemos que pueden haber cientos de miles de tweets, entonces lo más probable es que la cantidad de nuevos datos que obtendremos para nuestra métrica va a ser considerablemente grande.

Ahora, nuestra solución BI Tradicional cuenta con una base de datos transaccional capaz de soportar cada uno de estos aspectos?…así que es momento de  preguntarnos:

Nuestra base de datos transaccional soportará grandes volúmenes de datos?
Nuestra base de datos transaccional soportará grandes inserciones por segundo de datos?
Nuestra base de datos transaccional soportará este nuevo tipo de dato?
Nuestra base de datos transaccional podrá convivir con variedad de datos?

Si bien nuestra base de datos transaccional podría responda al menos a una de las preguntas anteriores, para cumplir nuestro objetivo debemos responderlas todas y ciertamente no lo estamos haciendo.

Para tal efecto y para solucionar estas limitantes fue creado el Big Data, que si bien no reemplazará nuestra solución BI Tradicional…si la potenciará o evolucionará con nuevos datos.

Definiendo Las 6V del Big Data

Las 6V del Big Data
Las 6V del Big Data

1. Volumen

Refiere a la capacidad de almacenar grandes bancos de información.

Nuestras soluciones de BI Tradicional contienen un volumen de datos habitual y constante, llegando a tamaños de almacenamiento no mayores a los gigabytes.

Conforme se genera la necesidad de incluir nuevas fuentes emergentes la cantidad de datos crece a un ritmo abismal y nuestro Data Warehouse debe ser capaz de soportar el almacenamiento y el procesamiento de dichos datos para posteriores análisis.

Existen distintas fuentes de datos emergentes que generan grandes cantidades de información y en muy corto tiempo, por supuesto superan considerablemente los tamaños básicos de almacenamiento de soluciones BI Tradicional. (Imagina el típico ejemplo de la cantidad inmensa de tweets que se generan por segundo) .

Podríamos considerar nuevas fuentes de datos emergentes en BI: las redes sociales, sensores de movimiento, sensores de infraestructuras, páginas web, blog, aplicaciones, georeferenciación…entre otros.

2. Velocidad

Las nuevas fuentes emergentes, al igual que generan gran cantidad de datos…también generan datos a gran velocidad y esto es muy visible con nuestro ejemplo actual: muchos tweets o información de redes sociales por segundo o incluso imágenes de vídeo de una transmisión de Streaming de algún evento particular.

Todos estos datos pueden ser esenciales a la hora de tomar una decisión, en el caso de las redes sociales como bien sabemos poder identificar lo que se dice, se piensa o se cree de nuestra organización, por otro lado en las imágenes del evento podríamos validar en tiempo real los gestos de las persona y saber si les gusta o no lo que están percibiendo.

Así púes nuestros DW no soportarían tan grandes flujos de velocidad constante.

3. Variedad

Nuestros DW actualmente cuentan con datos estructurados, datos definidos para la información de nuestros clientes, productos y demás, cuya finalidad nos permite incluir nuevas fuentes adaptadas fácilmente. Pero con las nuevas fuentes disponibles empezamos a encontrar tipos de datos que antes no pensábamos fuera posible contar, entre los que podríamos encontrar: Imágenes o Fotografías, Vídeo, Texto, XML, JSON, Clave-Valor, Audio, Señales de Sensores, Estados de Tiempo, Blog, HTML o incluso datos del Genoma humano…

Las bases de datos transaccionales que usamos en nuestro DW bien podrían almacenar estos tipos de datos, pero no sería de gran ayuda ya que no son óptimas y no nos permitiría extraer información de valor.

Las tecnologías de almacenamiento que usamos actualmente no cuentan con capacidades ni la disposición de alojar estos tipos de datos, por ende es necesario contemplar base de datos que nos brinde flexibilidad y diversidad en este aspecto.

4. Veracidad

Si bien nuestras fuentes existentes han pasado por un proceso de análisis y validación hasta definirse como información de valor para la toma de decisiones, de la misma manera debe suceder para las nuevas fuentes emergentes.

La veracidad o calidad del dato está definida por la elección de los registros de datos que verdaderamente aporten valor, directamente relacionada con la variedad ya que al tener distintos tipo de datos debemos implementar distintos modelos que satisfagan esta condición, es necesario contar con personal que ayude a filtrar y a mantener los datos completamente limpios y tratados para nuestra estrategia.

Al igual que el BI Tradicional debemos contemplar desde el inicio que nuestra finalidad es contar con bancos de datos que una vez tratados y analizados van a generar valor al negocio.

Está bien considerar que éste podría ser el primer escalón, pero no debemos olvidar que está directamente relacionada a los tipos de datos variables que vamos a contemplar.

Haz parte de mi Newsletter
I agree to have my personal information transfered to MailChimp ( more information )
Únete y haz parte como otros visitantes que reciben semanalmente mi newsletter con noticias y artículos actualizados sobre Business Intelligence y Big Data.
Al igual que tú, no tolero el SPAM. Tu dirección de email no será compartida.

5. Valor

Llegados a este punto, es bueno considerar que a pesar de que hemos incluido nuevas fuentes de datos, hemos contemplando el uso de nuevas tecnologías y que hemos generado valor con la inclusión de nuevas métricas y KPI a nuestra plataforma de BI Tradicional, sería interesante  el pensar explotar y generar mucho más provecho a esta información.

Utilizando ciertamente técnicas, algoritmos y desarrollos que permitan predecir con un mayor peso de los datos algunas tomas de decisiones como por ejemplo: predecir comportamientos de nuestros clientes, el momento exacto para crear un nuevo producto o incluso identificar fraudes transaccionales, todo esto es posible si contamos con personas o herramientas que ayuden a la organización a descubrir lo que no sabe, obtener conocimiento predictivo y comunicar historias de datos relevante, generan mucha más confianza en la toma de decisiones desde los datos.

Especialmente estamos hablando de personas con perfil de Científicos de Datos.

6. Visibilidad

Hasta este punto todas y cada una de las V’s se complementan, contando con un gran banco de datos que nos provee información confiable, variable, actualizada y además nos está generando un valor importante frente a nuestra competencia, también es necesario empezar a contar con herramientas de visualización que permitan una manera fácil de leer  nuestros nuevos análisis, que bien podrían ser estadísticos y que muy seguramente comprometería su desarrollo con nuestras herramientas de reporting que contamos actualmente.

Porque crees que tantas empresa de BI actualmente se enfocan en presenta un manera más fácil y flexible de presentar la información?

Para reflejar un poco ese aspecto, te comparto una de mis presentaciones con el software R donde represento de distintas formas de visualizar la oportunidad de tomar la decisión de renovar un servicio para una población especifica después de haber integrado distintas fuentes.

Visualización Analítica R en Big Data
Ejemplo de Visualización Analítica en R para Big Data

 

Espero que sea de tu agrado mi pequeña perspectiva del Big Data frente a la decisión de evolucionar nuestras plataformas BI Tradicional con su integración.

 

Qué opinas de las 6V del Big Data? Consideras que falta una nueva V? Crees que aún no se debería de considerar alguna de las V expresadas anteriormente?

Especialista en Business Intelligence con experiencia en herramientas como Pentaho, Microsoft y Microstrategy.
Inmerso en Big Data, las Nuevas Tendencias, el Futbol y la Música.

lista de las 5 principales tendencias bi

5 Principales Tendencias del Bussines Intelligence

¿Te has preguntado cómo está el Business Intelligence en cuanto a las nuevas tendencias? ¿Quisieras saber hacia donde puedes direccionar tu proyecto en los próximos años? ¿Conoces las principales tendencias? En este post quiero mostrarte desde una perspectiva tecnología y analítica las distintas tendencias y como ha sido su evolución durante los últimos años conforme a los proyectos Business Intelligence, pues nos ayudará a tomar la decisión que tecnología elegir a la hora de emprender la evolución de nuestros proyectos.

Cabe aclarar que no todos los casos aplican a todas las organizaciones…pues es necesario hacer una evaluación previa conforme a nuestros objetivos estratégicos trazados y elegir los aspectos que más nos convenga para llegar a cada una de nuestras metas. Además no toda la organización se verá beneficiada, cada nueva tendencia nos proveerá de aspectos únicos para áreas y cargos puntuales, de acuerdo a cada política empresarial.

Después del contexto anterior y antes de entrar en materia, debo aclara que esta clasificación es basada desde mi experiencia profesional y de cómo percibo la situación actual de los proyectos BI en que he participado y de la manera en que avanza la tecnología en materia de datos.

Lista de las 5 Principales Tendencias del Bussines Intelligence

1. Big Data

Hoy por hoy mucha se habla mucho sobre Big Data…el cual debemos tener completamente claro que estamos hablando de técnicas y tecnologías mediante el cual obtenemos, almacenamos y analizamos grandes cantidades de datos, los cuales dentro de una solución de BI tradicional no podríamos obtener.

Esto debido a que contamos con una diversidad de nuevas estructuras de datos los cuales las bases de datos usadas por las soluciones BI tradicionales no soportan en gran medida (1), como:

  • Datos no estructurados (sin formato definido y variable) como imágenes, videos, PDF, email.
  • Datos semi estructurados donde encontramos nuevos tipos de datos con su propio esquema definido como paginas HTML, archivos XML o documentos de forma JSON

Gracias a este emergente tecnológico podemos hacernos de datos que antes no imaginábamos que fuera posible obtener hasta el punto de saber que piensan de nuestra organización, productos o evitar posibles catástrofes a tiempo. Hablamos de datos provenientes de redes sociales, blogs, Apps, búsquedas de Google, patrones del clima, incluso definir nuevas estructuras de nuestra información (2), biometría, Geo localización, Open Data o internet de las cosas y muchas más.

Todo este mar de nuevos datos está disponible para que hagamos provecho de ello y potenciemos nuestro de datos.

Es por eso que desde mi punto de vista es la tendencia más importante, debido a que nos abre la posibilidad de poder aplicar alguna de las siguientes tendencias.

(1) Las nuevas versiona de los distintos proveedores de bases de datos transaccionales ya soportan datos nos estructurados
(2) Podríamos definir como un documentos facturas de clientes y almacenarlas masivamente en formato JSON para solucionar algún problema puntual

2. Social Intelligence

Esta innovación también es de suma importancia en la actualidad, aquí voy a englobar lo siguiente:

  • Business Intelligence 2.0
  • Real Time Business Intelligence
  • Social Media, Marketing en Business Intelligence

Cuando hablamos de Social Intelligence nos referimos a todos los datos que están disponibles en distintas fuentes en la red, como ya mencionados en el apartado anterior redes sociales, blogs, páginas web, campañas de marketing, email marketing y toda la información que podríamos obtener.

El BI 2.0 tiene un enfoque colaborativo, llevado y adoptado por la evolución del web 2.0 nos encontramos con una incorporación similar a las redes sociales, pero desde el ámbito interno y empresarial, donde empleados de distintos cargos y áreas de la organización pueden opinar y generar ideas de valor que permitan mejorar servicios o productos. Este es un enfoque social empresarial y también se puede sacar provecho de él.

Por otro lado al incluir Real Time Business Intelligence refiero a que cada vez es más la necesidad de las organizaciones a disponer de información en tiempo real, de poder tomar decisiones de manera instantánea o porque no…tener disponible el informe y stock de ventas de la última hora por proveedor, cliente y montos desde un DahsBoard.

Todo esta revolución nos lleva a que para tener un sistema colaborativo y tomar decisiones en tiempo real es necesario tener a nuestra disposición las redes sociales, incluir esta nueva fuente de datos nos da una inimaginable ventaja sobre nuestra competencia, pues podremos responder preguntas como Que opinan de mi organización? Que se dice mi organización? Que les gustaría a mis clientes que mejoraran mis productos? Soy influyente dentro de mis sector? Mis clientes confían en mi organización?

A Para dar respuesta estas preguntas antes debíamos esperar suficiente tiempo después de analizar nuestro estado actual con el histórico, hoy en dia solo basta con disponer de información de nuestras redes sociales para saber qué rumbo tomar en cuanto a nuevos productos, en que debemos mejorar urgentemente y que le podemos ofrecer a nuestros clientes.

Por supuesto debemos seleccionar que tipo de información realmente requerimos, pues no todo nos servirá y terminará ocupando espacio de almacenamiento que tal vez podamos usar en otra fuente.
También es necesario alinear dicha nueva fuente de datos con nuestros objetivos estratégicos, de manera que en realidad influyan en nuestra meta general y realmente aporte valor.

3. Business Intelligence SaaS

Otra llamativa tendencia, personalmente es perfecta para disponer de una solución Business Intelligence cuando las organizaciones no disponen de grandes cantidades de capital para implementar todo un core de cierta marca.
También recordemos que un aspecto importante antes de tomar el vuelo en la implementación de BI es el miedo a intentarlo o al obtener un ROI a un muy corto plazo.

Pues bueno si no te has decidido o tienes miedo a “invertir” grandes cantidades de dinero puedes probar con soluciones BI SaaS.

La ventaja que te brinda está basada entre otras cosas en los costos, pues podríamos hablar de un ahorro de infraestructura, espacio, energía, ingenieros de desarrollo…como también en disponibilidad de la información, ya que al estar en la web puedes disponer de ella en cualquier momento, también te evitas actualizaciones de hardware y software y tienes simplemente cuando lo desees puedes ampliar tu capacidad de almacenamiento, rendimiento y a cuantos usuarios pueden acceder.

Por otro lado debes tener algo presente, dicha solución debe garantizarte privacidad de la información, soportada de manera que estará segura pues “tus datos…ya no serán tan solo tus datos”, los compartirán y debes estar seguro de que está haciendo.

Por otro lado, algunas organizaciones ya tiene un proyecto BI pero se dan cuenta de que la menara en que explotan la información, en que visualizan los informes y en la manera que los comparten se han quedado en un nivel estándar y no tienen manera de actualizarse también pueden optar por una solución de este tipo, pues bien, en vez de contratar toda una solución completa de BI, pueden contratar servicios de reportes agiles y amigables e integrarlos a su solución, no sería lo ideal al ya tener un proyecto consolidado, pero entre tanto es una buena opción para sentarte a evaluar qué camino tomar.

 
Haz parte de mi Newsletter
I agree to have my personal information transfered to MailChimp ( more information )
Únete y haz parte como otros visitantes que reciben semanalmente mi newsletter con noticias y artículos actualizados sobre Business Intelligence y Big Data.
Al igual que tú, no tolero el SPAM. Tu dirección de email no será compartida.

4. BI Open Source

Si bien mi primer acercamiento al Business Intelligence fue con la herramienta Pentaho OS, ya existía en formación una comunidad desde tiempo atrás estable y en crecimiento constante llamada redopenbi en la cual aquellos nuevos apasionados iniciaban su formación o recibian aportes valisos de expertos que ya llevaban tiempo con la herramienta.

Debo decir que era un poco demorado y el escenario perfecto para aquellos que les gustaba intentar, probar y aprender pues debias realizar practicament todo manual, desde definir el cubo con Wokbench, pasando por las etl con el PDI hasta la plataforma web que corria con su propio Mondrian y sin dejar atrás los distintos plugins del CDE y CTools. Debo decirte que dedicabas un buen tiempo instalando y desarrollando si querias que quedara algo perfecto.

Hoy en día es distinto, si bien depende de nosotros una configuración, ya el soporte a crecido y además de pentaho existen otras herramientas que dan aval a que las organizaciones confien en este tip ode soluciones.
Personalmente me parece perfecta, pues puedes configurar y desañar tu plataforma como lo desees, logos y colores empresariales, seguridad, distintos origenes de datos, hasta desarrollar tus propios objetos como indicadores otacómetros pero por suesto tiene un precios, necesitas de alguien que maneje la herramienta y te garantise un soporte estable y confiable para tu plataforma corporativa.

Por supuesto todas tiene versiones de pago con soporte especializado y a medida, aunque también existen empresas especializadas en este tipo de soluciones OS como Stratebi o Troyanx, las cuales desde hace mucho años realizan este tipo proyectos, asesorias y formaciones personalizadas incluso contando con Big Data, Data Analytics, Data Mining y más.

Las organizaciones no deben temer a utilizar estas herramientas, si bien cuando tomas la decision de implemetar un solucion BI, no tienes suficiente presupuesto, este tipo de soluciones son perfecta para ayudarte a visualizar que te encontrar, a que te enfrentaras y lo mas importante como te puede ayudar a la toma de decisiones en tu organzación.
Algunas herramientas son: Pentaho, Spangobi, JaserSoft.

5. Open Data

Cuando hablamos del Open Data, estamos hablando principalmente de una nueva práctica o iniciativa donde empresas de distintos sectores y principalmente organizaciones gubernamentales/administraciones públicas dan libre  acceso a ciertos datos propios en internet de manera que cualquier ciudadano o empresa pueda manipularlos, explotarlos y sacar provecho de dicha información, cuya finalidad ideal es que entre todos se logren identificar y encontrar problemáticas que propietarios no habían identificado o incluso se permita como fuente para la creación de aplicaciones innovadoras o para reforzar tu propio banco de datos.

Desde mi punto de vista los pilares fundamentales para que realmente sea funcional este tipo de información es que sean:

  • Públicos: Fácil acceso, sin necesidad de algún tipo registro o solicitud.
  • Histórico: Es indispensable contar con historia, no tendría sentido analizar solo un año…o sí?
  • Actualizados: Ser actualizado constantemente y documentar al público su tipo de actualización, estructura (Entre menos sea mejor), los datos, etc.
  • Documentados: Contar con descripción detallada tanto del tipo de dato contenido como de cada atributo o campo.
  • Libres: Uso completamente libre para cualquier propósito y fin que la comunidad requiera.
  • Múltiple Formato: Que dispongamos de distintas opciones de formatos para obtener los datos. PDF, TXT, XLM, EXCEL, etc. Por nombrar algunos de los más usados.

Lamentablemente no todos los países gozan de estos beneficios, pues aunque dispongan de dicha “plataforma” realmente no cuenta con información valiosa, sin fácil navegación, sin estructura clara o incluso sin historia, por eso esta iniciativa aunque es perfecta para combinar fuentes de datos y sacar mucho más provecho, aún no es una tendencia real…pero espero que muy pronto se fortalezca a nivel mundial y podamos disponer de estos valiosos datos.

Conclusión

Como te das cuenta actualmente todo tiende a la inclusión de nuevas fuentes de datos como principal potenciador de los proyectos en BI, principalmente hablamos de fuentes algunas veces estructuradas o no, incluso sin formato de manera que nos vemos en la necesidad  de implementar nuevas tecnologías.

No es necesario invertir grandes cantidades de dinero en la potenciación de tus proyectos con nuevas fuentes, analizando detalladamente tus necesidades y tu planeamiento estratégico puedes desarrollar soluciones a medida que te cubran tus necesidades tecnológicas.

En próximos post profundizaré sobre cada tendencia, no te los pierdas!!!

Que te ha parecido esta lista de nuevas tendencias? Cuál sería  el orden o que tendencias no mencionadas consideras deben ser incluidas? Te gustaría opinar sobre una tendencia que quieres aplicar o que estés aplicando actualmente en tu organización?

Especialista en Business Intelligence con experiencia en herramientas como Pentaho, Microsoft y Microstrategy.
Inmerso en Big Data, las Nuevas Tendencias, el Futbol y la Música.

presentacion_blog_big_data_bi

Bienvenidos

Quien soy…

Hola, soy John Alexander Carvajal Agudelo y este es mi blog personal!!!

Con este blog pretendo dar mi punto de vista respecto a los proyectos de BI y su evolución, así es, y para eso es necesario tener presente sus nuevas tendencias las cuales incluyen nuevos procesos, nuevas fuentes, nuevos datos conocidos hoy en día como datos no estructurados, el internet de las cosas, imágenes, audio o video y muchas más.

Mi punto de vista va desde lo teórico hasta lo práctico,  pues hace ya bastante tiempo atrás que soy consultor BI tanto en Colombia y hace poco en Argentina, así que en lo posible antes de llegar a la práctica existirá un contexto previo de lo que voy a hablar.

Hace un par de años decidí especializarme en distintas etapas del BI. Gracias a esta decisión me sumergí en este maravillo mundo de conceptos como fuentes de datos corporativas, plataformas y arquitecturas que soporten consultas analíticas en línea, modelado de datos y muchos más.

Durante mis inicios tuve la fortuna de recibir formación directamente de otras personas influyentes actualmente en BI como Josep Curto Díaz, Emilio Arias Leal y contactado con Pedro Alves (quien desarrolla y apoya Pentaho Open Source).

Todo esto me valió para adquirir un conocimiento sólido, logrando trabajar ya desde hace varios años en  distintos tipos de proyectos y negocios por más de  4 años,  así mismo gracias a ésta experiencia, siempre llegaba en mi mente a una idea en particular…querer transcender, innovar y evolucionar cada proyecto.

Es por eso que decidí aventurarme y documentar prácticas que hoy por hoy están dando de qué hablar y por supuesto con una gran evolución del BI…desde mi punto de vista el Big Data y otras fabulosas actividades como Data Analysis, Data Analytics, Data Mining entre otras que muy seguramente conocerás o habrás escuchado en tu medio.

Lo esencial es querer dar un paso adelante, decidir nutrir nuestros proyectos con nueva información variable y de calidad, contando con una cantidad de nuevas fuentes disponibles de las cuales no conocíamos o no sabíamos cómo obtenerlos y de los cuales podemos sacar mucho provecho y tomar ventaja sobre nuestra competencia y sobresalir.

Por ejemplo: podrías incluir  información de nuestros clientes con la que antes no contábamos como sus gustos, lo que piensan, lo que les gusta y lo mejor en tiempo real…dime a quien no le gustaría un producto tal cual como lo desea o lo piensa?

Pues éste es mi deseo y trataré de hablar de lo que encierra el Big Data, sus etapas, tecnologías y como con su ayuda podemos evolucionar nuestros proyectos BI.

Espero que lo disfruten tanto como yo, éxitos!!!

Especialista en Business Intelligence con experiencia en herramientas como Pentaho, Microsoft y Microstrategy.
Inmerso en Big Data, las Nuevas Tendencias, el Futbol y la Música.