Skip to main content
SparkR

SparkR: R a Gran Escala!

Tiempo de Lectura: 4 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
Ú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.

http://web.archive.org/web/20130318081104/http://hadoop.apache.org/

 

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
Ú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
Ú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
Ú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.