Material Big Data

Lanzados ppts informativos de tecnologías BigData: Hadoop, Hbase, Hive, Zookeeper...

Apuntate al Curso de PowerBI. Totalmente práctico, aprende los principales trucos con los mejores especialistas

Imprescindible para el mercado laboral actual. Con Certificado de realización!!

Pentaho Analytics. Un gran salto

Ya se ha lanzado Pentaho 8 y con grandes sorpresas. Descubre con nosotros las mejoras de la mejor suite Open BI

LinceBI, la mejor solución Big Data Analytics basada en Open Source

LinceBI incluye Reports, OLAP, Dashboards, Scorecards, Machine Learning y Big Data. Pruébala!!

16 may. 2019

Analisis de los Panama Papers con Neo4J - Big Data



En este ejemplo se usa Neo4j como Base de Datos basada en grafo para modelar las relaciones entre las entidades que forman parte de los Papeles de Panamá (PP). A partir de ficheros de texto con los datos y relaciones entre clientes, oficinas y empresas que forman parte de los PP, hemos creado este grafo que facilia la comprensión de las interacciones entre sujetos distintos en esta red.
La demostración comienza seleccionando una entidad de cualquier tipo (Address, Company, Client, Officer), según el tipo que seleccione se muestran los atributos de ese nodo, luego seleccione el atributos que desea e introduzca el filtro, agregando varios paneles para filtrar por más de uno si es necesario. El parámetro "Deep" significa el número de conexiones al elemento seleccionado que se quiere mostrar.
En el servidor se hace una búsqueda BFS a partir del nodo seleccionado realizando consultas a Neo4j para cada tipo de relación donde una de sus partes sea el nodo actual, hasta llegar al nivel de profundidad solicitado. Se van guardando los nodos y los arcos para devolverlos como resultado.


Para la visualización del grafo se ha usado Linkurious, uno de los componentes más efectivos para este propósito en el mercado. Se puede interactuar con el grafo haciendo zoom, seleccionando elementos, moviendo elementos o usando el lasso tool para seleccionar varios nodos. Haciendo doble click sobre un nodo se cargan las conexiones a él que no estén visualizadas.
Neo4j y las Bases de Datos basadas en grafos en general tienen aplicaciones muy particulares, como Detección de Fraudes (descubriendo patrones de relaciones entre nodos), Recomendaciones en Tiempo Real (es relativamente sencillo, usando el peso de las relaciones de cada nodo, su tendencia, etc), Analítica de Redes Sociales (por la facilidad de implementar algoritmos de grafos en este tipo de Base de Datos)
Enjoy it!!

14 may. 2019

Diferencias entre Data Analyst, desarrollador Business Intelligence, Data Scientist y Data Engineer



Conforme se extiende el uso de analytics en las organizaciones cuesta más diferenciar los roles de cada una de las personas que intervienen. A continuación, os incluimos una descripción bastante ajustada

Data Analyst

Data Analysts are experienced data professionals in their organization who can query and process data, provide reports, summarize and visualize data. They have a strong understanding of how to leverage existing tools and methods to solve a problem, and help people from across the company understand specific queries with ad-hoc reports and charts.
However, they are not expected to deal with analyzing big data, nor are they typically expected to have the mathematical or research background to develop new algorithms for specific problems.

Skills and Tools: Data Analysts need to have a baseline understanding of some core skills: statistics, data munging, data visualization, exploratory data analysis, Microsoft Excel, SPSS, SPSS Modeler, SAS, SAS Miner, SQL, Microsoft Access, Tableau, SSAS.



Business Intelligence Developers

Business Intelligence Developers are data experts that interact more closely with internal stakeholders to understand the reporting needs, and then to collect requirements, design, and build BI and reporting solutions for the company. They have to design, develop and support new and existing data warehouses, ETL packages, cubes, dashboards and analytical reports.
Additionally, they work with databases, both relational and multidimensional, and should have great SQL development skills to integrate data from different resources. They use all of these skills to meet the enterprise-wide self-service needs. BI Developers are typically not expected to perform data analyses.

Skills and tools: ETL, developing reports, OLAP, cubes, web intelligence, business objects design, Tableau, dashboard tools, SQL, SSAS, SSIS.



Data Engineer

Data Engineers are the data professionals who prepare the “big data” infrastructure to be analyzed by Data Scientists. They are software engineers who design, build, integrate data from various resources, and manage big data. Then, they write complex queries on that, make sure it is easily accessible, works smoothly, and their goal is optimizing the performance of their company’s big data ecosystem.
They might also run some ETL (Extract, Transform and Load) on top of big datasets and create big data warehouses that can be used for reporting or analysis by data scientists. Beyond that, because Data Engineers focus more on the design and architecture, they are typically not expected to know any machine learning or analytics for big data.

Skills and tools: Hadoop, MapReduce, Hive, Pig, MySQL, MongoDB, Cassandra, Data streaming, NoSQL, SQL, programming.



Data Scientist

A data scientist is the alchemist of the 21st century: someone who can turn raw data into purified insights. Data scientists apply statistics, machine learning and analytic approaches to solve critical business problems. Their primary function is to help organizations turn their volumes of big data into valuable and actionable insights.
Indeed, data science is not necessarily a new field per se, but it can be considered as an advanced level of data analysis that is driven and automated by machine learning and computer science. In another word, in comparison with ‘data analysts’, in addition to data analytical skills, Data Scientists are expected to have strong programming skills, an ability to design new algorithms, handle big data, with some expertise in the domain knowledge.

Moreover, Data Scientists are also expected to interpret and eloquently deliver the results of their findings, by visualization techniques, building data science apps, or narrating interesting stories about the solutions to their data (business) problems.

The problem-solving skills of a data scientist requires an understanding of traditional and new data analysis methods to build statistical models or discover patterns in data. For example, creating a recommendation engine, predicting the stock market, diagnosing patients based on their similarity, or finding the patterns of fraudulent transactions.
Data Scientists may sometimes be presented with big data without a particular business problem in mind. In this case, the curious Data Scientist is expected to explore the data, come up with the right questions, and provide interesting findings! This is tricky because, in order to analyze the data, a strong Data Scientists should have a very broad knowledge of different techniques in machine learning, data mining, statistics and big data infrastructures.

They should have experience working with different datasets of different sizes and shapes, and be able to run his algorithms on large size data effectively and efficiently, which typically means staying up-to-date with all the latest cutting-edge technologies. This is why it is essential to know computer science fundamentals and programming, including experience with languages and database (big/small) technologies.



Skills and tools: Python, R, Scala, Apache Spark, Hadoop, data mining tools and algorithms, machine learning, statistics.


Visto en BigDataUniversity

9 may. 2019

Big Data: Real Time Dashboards with Spark Streaming



Al abrirse la página de esta demostración, se solicita una conexión con el end point que provee los datos de la wikipedia, mediante un WebSocket.


Enel servidor se crea una conexión con el cliente y mientras esté abierta y no ocurran errores en el envio, el sistema busca los datos de los componentes de "Broadcast Queue". Estos componentes, a su vez, están recibiendo datos del API REST, que les llega a través del Cliente Http implementado y usado por Spark para enviar los resultados.
La implementación de la "Broadcast Queue", permite que todas las conexiones al servidor puedan buscar los datos en la misma cola obteniendo un tiempo óptimo de O(1), (Complejidad Computacionalde obtener datos de una Cola de Mensajes) para cada conexión en recibir el mensaje.


A su vez, en su papel de Cola de Mensajes permite que la comunicación entre Spark y el Server Socket sea óptima, en O(1) igualmente sin contar los retrazos por red.


Esta implementación permite que un número muy alto de clientes puedan conectarse a visualizar en tiempo real los datos recibidos de la wikipedia.

Puedes ver también un video en funcionamiento:

7 may. 2019

Real Time Analytics, concepts and tools


We could consider three types of Real Time when we manage data and depends on each stage:

1. Real Time Processing: Is the possibility of ingest data at the time the event is produced in real live. This includes only processing step, i.e copying data from source to destiny and guarantees data to be ready for analytics

You can try some online demos here




Technologies:




2. Stream Analytics: it performs analytics of data on the fly, as a stream is usually analyzed in a window time frame, the analytics we can do here is limited because only attack a very limited data set




Technologies:




3. Real Time Analytics: refers to two basic conditions: the most recent data will be included in any report, graphic, etc, that analytics will take near to 0 time in execute




Technologies:


In Memory Mapreduce
-Apache Spark (Spark SQL)
-Apache Flink (FQL)

Column Storage Engines
-Kafka + (Spark | Flink) + 
-InfluxDB (Time series analytics)



-Marketing (Product recommendations based on latest updates)
-Fraud Detection (Tracking suspect activities on events that appear to be fraudulent)
-Health Care Monitoring (Social network trending topics can help to this)




29 abr. 2019

Checklist para hacer un proyecto Business Intelligence

Analisis

BI Termometer, es la iniciativa que tenemos en marcha, para hacer una gran recopilación de los indicadores más importantes a la hora de poner en marcha un proyecto Business Intelligence. Muchos proyectos Business Intelligence fracasan por no haber realizado una correcta toma de requerimientos. Desde Stratebi queremos ayudar a solventar este problema.

El objetivo es llegar a los 1500 indicadores de relevancia para construir este tipo de sistemas. Además, nos hemos propuesto ofrecer esta herramienta en abierto de forma que pueda ser de utilidad para todos, ofrecíéndola de forma online y generando informes y cuadros de Mando de resumen. Totalmente gratis!!

Aquí tenéis toda la información.

Ya están disponibles dos nuevas áreas de análisis (con gran cantidad de indicadores), que se añaden a la anteriores ya disponibles, por lo que ya tenemos:
- Analisis
- Reporting y User Interface
- Business Rules.
- ETL y Calidad de Datos.

- DW (Nuevo)

- Arquitectura (Nuevo)

Dashboard

Esperamos que esta herramienta os sea de ayuda!! no dudéis en darnos feedback de vuestra utilización.

26 abr. 2019

Ranking de las mejores Bases de Datos

Mas de 300 bases de datos son evaluadas en la comparativa que realizan en DB-engines anualmente

Un imprescindible para todos los que manejan datos. Cada vez tenemos más opciones y tecnologías donde elegir. Ah, y la mayoría, son Open Source





23 abr. 2019

Hadoop Hive y Pentaho: Business Intelligence con Big Data (Caso Practico)



Cuando los profesionales del Business Intelligence (BI) oímos hablar de Big Data existe una cuestión que nos suele venir a la cabeza casi de forma natural ¿Es posible usar Big Data para el desarrollo de aplicaciones de BI típicas como el análisis OLAP o la generación de informes? 

A continuación, si la respuesta es afirmativa, con seguridad nos surgirán algunas dudas más:

  •   Posibilidades de conexión con las herramientas de BI. Por ejemplo con Pentaho, la suite BI Open Source más conocida y líder del mercado
  •   Rendimiento con aplicaciones de generación de informes y OLAP
  •   Carga de datos relacionales, procesos de ETL con Big Data, automatización de los procesos…

Para intentar dar respuesta a algunas de las cuestiones anteriores, hemos llevado a cabo un conjunto de pruebas para el desarrollo de aplicaciones BI haciendo uso del binomio Hadoop – Pentaho

La prueba ha consistido en replicar un Data Warehouse  generado en un proyecto real sobre una BBDD Oracle y con una alta volumetría, a un nuevo Data Warehouse en el clúster Hadoop usando la herramienta Apache Hive

Gracias a la conexión JDBC, conectaremos Hive con las aplicaciones disponibles en la suite Pentaho para evaluar la viabilidad de la generación de informes o reporting con Big Data, siendo esta una de las aplicaciones BI más demandadas en la actualidad por las empresas.
 
Para llevar a cabo la prueba hemos usado las últimas versiones 6.X de las herramientas de Pentaho y disponemos de un clúster Hadoop con las siguientes características:

·         Distribución 2.4 de Hortonworks
·         2 máquinas o hosts
·         2 procesadores por máquina (total 4)
·         16 Gb Ram por máquina (total 32 Gb)


Generación de informes

En la siguiente imagen puede verse la arquitectura de la aplicación BI desarrollada:



Para la carga de las tablas del DW de Oracle en Hadoop hemos usado tanto Sqoop como Pentaho Data Integration, gracias a la integración de esta última con HDFS y Sqoop. 

Tras esto, para la creación del Data Warehouse en Hadoop hemos usado la herramienta Apache Hive. Esta herramienta soporta consultas en lenguaje SQL y usa como almacenamiento el sistema de archivos distribuido de Hadoop HDFS. 
Además, recientemente se ha incorporado en la distribución Hortonworks el nuevo motor de ejecución Apache Tez, que mejora en gran medida el rendimiento de Hive haciendo uso intensivo de la memoria RAM del clúster y evitando el uso de IO a disco siempre que sea posible.

Por último, hemos usado la conexión JDBC disponible en Hive para conectar con las siguientes aplicaciones de la suite Pentaho, con el objetivo de dar soporte a la generación de informes sobre el Data Warehouse creado Hive:

 * Pentaho Reporting Designer: Usada para la generación de informes estáticos y parametrizables. Para las pruebas hemos creado 3 informes con consultas de distinta complejidad.

* Pentaho Metadata Editor: Creación de un modelo de metadatos que es usado por aplicaciones como STReport para la generación de informes AdHoc, herramienta incluida en la suite Lince BI, desarrollada por el equipo de StrateBI a partir de Saiku Reporting. Con STReport  generaremos 3 informes con consultas similares a las de los 3 informes estáticos generados con Pentaho Reporting Designer.

* Pentaho BA Analytics (Servidor de BI): Servidor de BI de Pentaho, donde ejecutaremos los informes creados con Pentaho Reporting Designer y crearemos nuevos informes sobre el modelo de metadatos usando la herramienta STReport



Dado que los entornos Big Data están preparados para procesar volúmenes de datos mucho más grandes que los de nuestro DW de ejemplo, hemos creado dos tablas de hechos adicionales a la original de 1.240.361 filas, las cuales tienen 5.161.444 filas (x4) y 25.807.220 (x20) respectivamente. De esta forma hemos creado versiones de los 6 informes (3 estáticos con PRD y 3 adhoc con PME + STReport) que se ejecutan sobre las 3 tablas de hechos de distinta volumétrica. 

Tras la ejecución, en la siguiente tabla se muestran los tiempos de generación medidos:




Conclusiones

Esta prueba nos demuestra que es posible la generación de informes sobre datos que están almacenados en una plataforma Big Data como Apache Hadoop, gracias a las capacidades de la herramienta Apache Hive y su conectividad JDBC. 

También hemos comprobado como las herramientas de la suite Pentaho, gracias a su conectividad con Hadoop, son el complemento ideal para el desarrollo de aplicaciones BI que hacen uso del Big Data
No obstante es necesario tener en cuenta los tiempos de respuesta en la generación de informes, los cuales hacen que la generación de informes sobre Hive sea recomendada en casos los que el tiempo respuesta instantánea no sea un requisito indispensable. A cambio, obtenemos la posibilidad de generar informes sobre datos de tipo Big Data (Volumen, Variedad y Velocidad). 

En cualquier caso, nuestro clúster de pruebas tiene unas prestaciones muy reducidas, siendo habitual el despliegue de clúster que cuentan con más 5 máquinas y un cantidad de memoria RAM en conjunto superior a los 100 Gb. Es precisamente el uso intensivo de la RAM por Apache Hive (sobre el motor de ejecución Tez), lo que seguramente está penalizando nuestros tiempos en respuesta en más de 10-15 segundos.

Dado que existen más herramientas y aplicaciones BI susceptibles de ser desarrollados con la tecnología Big Data, en pruebas posteriores nos proponemos comprobar las capacidades de Apache Impala para la generación de informes en una distribución de Cloudera o el análisis OLAP usando el novedoso Kylin sobre Hadoop

Esperamos que os sea útil


·  


16 abr. 2019

Por que el ETL es crucial

 

Por favor, leed este articulo. Es una joya para todos los que trabajan en Data Warehouse, Business Intelligence, Big Data


En TodoBI nos gusta decir que en los proyectos BI, DW son como un iceberg (la parte oculta es la mas grande e importante) y se corresponde con el ETL


Un extracto del artículo:


"ETL was born when numerous applications started to be used in the enterprise, roughly at the same time that ERP started being adopted at scale in the late 1980s and early 1990s"


Companies needed to combine the data from all of these applications into one repository (the data warehouse) through a process of Extraction, Transformation, and Loading. That’s the origin of ETL.


So, since these early days, ETL has essentially gotten out of control. It is not uncommon for a modest sized business to have a million lines of ETL code. 


ETL jobs can be written in a programming language like Java, in Oracle’s PL/SQL or Teradata’s SQL, using platforms like Informatica, Talend, Pentaho, RedPoint, Ab Initio or dozens of others.



With respect to mastery of ETL, there are two kinds of companies:


  • The ETL Masters, who have a well developed, documented, coherent approach to the ETL jobs they have
  • The ETL Prisoners who are scared of the huge piles of ETL code that is crucial to running the business but which everyone is terrified to change.
Mas info: ETL con soluciones Open Source

Las 53 Claves para conocer Machine Learning


Si hace unos días os presentábamos las 69 claves para conocer Big Data, hoy os traemos las 53 Claves para conocer Machine Learning

Que lo disfrutéis, si quereis conocer más o practicar, tenemos cursos


Tambien os recomendamos: Una breve historia del Machine Learning



11 abr. 2019

10 trucos para integrar el Business intelligence dentro de los procesos de negocio




El Business Intelligence cada vez esta siendo más considerado como un proceso estratégico, pero se necesita que se pueda aplicar a cada uno de los procesos individuales que ocurren en una empresa.
Sólo de este modo se podrán conseguir los objetivos estratégicos planteados por la dirección y donde el BI nos puede ayudar mucho a conseguirlos.

Estos son 10 trucos que nos pueden venir muy bien para alcanzar el objetivo:

1) Antes de integrar tus sistema BI con otros de tipo operacional o portales de trabajo es necesario que tengamos un sistema coherente en cuanto al nombre de los códigos, que todo se llame igual en todos los sitios, que se usen las mismas métricas y fórmulas, que se usen los mismos intervalos de tiempo, etc... Intenta mantener todos tus metadados en xml.

2) Hay que intentar que todas las herramientas y plataformas utilizadas a lo largo de la empresas sean comunes. Si son del mismo vendedor, incluso mejor.

3) Antes de poner las herramientas disponibles al usuario final, tener toda la estructura integrada. Es decir, se trata definir unos KPI´s comunes, para que si un Director esta consultando un Scorecard o un Dashboard, pueda profundizar hasta el nivel de detalle siguiente ese mismo KPI.

4) Centrar los objetivos del BI en conseguir un único criterio fundamental, en lugar de alcanzar varios de golpe: Ej) reducir los costes operativos.

5) Utilizar una metodología para saber quien usa realmente o puede llegar a usar un sistema BI. A partit de aquí, habrá que dibujar una planificación de roles, dependencias, prioridades, necesidades, etc...

6) No suponer que sólo existe una fórmula para integrar el Business Intelligence. Existen varias, y será preciso conocer muy bien a la organización.

7) Integrar Bi web services utilizando los propios API que proporcionan los vendedores. De este modo podemos incluir portlets y otros componentes en nuestras aplicaciones sin un elevado esfuerzo.

8) Si los usuarios necesitan compartir sus análisis, publicarlos, y otro tipo de necesidades workflow, lo mejor es ubicar soluciones BI dentro de las intranets y portales ya en funcionamiento, para tomar ventaja de todo este entorno colabrativo.

9) Para obtener todas las ventajas de los datos operacionales del negocio, será muy útil aprovecharse de los nuevos desarrollos como las nuevas funciones SQl analíticas, las vistas materializadas, Java Beans, etc...

10) Usar procesos en tiempo real (en la medida de los posible), que junto con el uso de herramientas de monitorización de activades y consultas nos dará un visión muy ajustada del comportamiento de los usuarios.

Bueno, estos consejos (algunos de los cuales parecen obvios) son el punto fundamental, para que una organización se beneficie, 'realmente' del uso del Business Intelligence.

Tags: Teoria
Fuente: Mike Ferguson - Business Intelligence.com