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!!

15 nov. 2019

Cual es el orden correcto para hacer un proyecto de Machine Learning?

Muy de acuerdo con esto:

14 nov. 2019

Tips y Tecnicas de optimización de Vertica con Talend

Os traemos unos cuantos trucos y recomendaciones sobre dos de nuestras herramientas favoritas: Vertica y Talend

Configuring Talend for Use with Vertica
To configure Talend for use with Vertica, you must understand:

Using Talend Components for Vertica

Talend provides a number of Vertica-specific components that you can use to manage your ETL jobs. Understanding the ETL flow and loading guidelines can help you determine which components to use, and how best to use them.

Understanding ETL Flow and Loading Guidelines

Understanding the basic ETL flows helps you decide which Vertica component and options to use. This section addresses the following load types:

Type of Load Use this COPY Option Results
Small Bulk Load COPY (<100mb font=""> AUTO
  • Writes to WOS.
  • Spills to ROS when WOS overflows.
Large Bulk Load COPY DIRECT
  • Writes to ROS.
  • Each commit becomes a new ROS container.
Incremental Load COPY TRICKLE
  • Writes to WOS.
  • Errors when WOS overflows.
Follow these guidelines when loading data into Vertica:
  • Use COPY to load large amounts of data. Using COPY avoids fragmenting the WOS and doesn't require the overhead that using INSERT does.
  • If your row count is small (fewer than 1000 rows), use INSERT.
  • Load multiple streams on different nodes.
If you are using the INSERT INTO...SELECT...FROM syntax in ETL jobs with large volumes, be sure to use the following syntax.

=> INSERT /+*direct*/ INTO table SELECT…

Commonly Used Vertica Specific Talend Components

The following Talend 6.4.1 components are specifically for use with Vertica:
Component Description
tVerticaInput Extracts data from Vertica.
tVerticaBulkExec Loads from a file.
tVerticaOutputBulk Writes to a file.
tVerticaOutputBulkExec Writes to a file and loads the data.
tVerticaOutput Inserts or updates rows into a Vertica table.
tVerticaRow Executes the SQL query stated against the Vertica database.


The tVerticaInput component allows you extract data from Vertica. Give special attention to the DATE and VARCHAR fields, as follows: 
  • DATE fields—All DATE fields must be in MM-DD-YYYY format. Check your DATE fields and correct the format wherever necessary, as shown in the following dialog box.
  • VARCHAR fields—Talend examines a sampling of the data when determining the size of the VARCHAR field. If the table contains large VARCHAR values, consider increasing the default column size.

 You can also use the tMap component to transform or remap the data type.


tVerticaOutput provides options that you can change, depending on the size and type of load. Specifically, you should change the Action on Data and Action on Table options, as described in the following sections.
Basic Settings for Trickle or Incremental Loads (Writing to WOS)
Set the Action on Table and Action on Data options according to your use case. For trickle or incremental loads, set Action on Data to INSERT.

Advanced Settings for Trickle or Incremental Loads (Writing to WOS)
When writing to the WOS, use the default values for Advanced Settings as follows.


To enable fields for INSERT, UPDATE, and DELETE, select the Use field options checkbox. The default settings in the previous graphic generate the following SQL statements:

2018-05-15 05:24:36.797 Init Session:7f17b3fff700 [Session]  [PQuery]
 TX:0(v_target_l1_node0001-40400:0x1091f) INSERT INTO public.VarChar4k_Table 
(DataTypeSet,ValueDesc,VarChar4k_Column) VALUES (?,?,?)


These default settings do not generate a COPY statement.
Basic Settings for Large, Bulk Loads (Writing to ROS)
For large, bulk loads, use the DIRECT syntax to write to ROS. To do so, you must set the Action on data option to COPY. 

Advanced Settings for Large, Bulk Loads (Writing to ROS)
When using COPY, use Advanced Settings to specify filenames and locations for exception files.


The settings in the preceding graphic generate the following SQL statements:

2018-05-15 05:19:44.584 Init Session:7f17fd7ca700-a0000000044bf8 [Txn] 
 Rollback Txn: a0000000044bf8 'COPY public.VarChar4k_Table 
(DataTypeSet,ValueDesc,VarChar4k_Column) FROM local STDIN UNCOMPRESSED WITH DELIMITER ';' 
REJECTED DATA 'C:/data/except_records.txt' DIRECT NO COMMIT'


The tVerticaOutputBulkExec component writes to a file and then copies the data using standard input (STDIN).
Basic Settings
Advanced Settings
By default, tVerticaOutputBulkExec writes to the ROS.


The settings in the preceding graphic result in the following SQL statements:

2018-05-15 05:20:44.526 Init Session: 7f17b37fe700-a0000000044c10
 Starting Commit: Txn: a0000000044c2d 'COPY
datatype_ss.VarChar_Table FROM local STDIN DELIMITER ';' NULL 'null'
DIRECT returnrejected'


The tVerticaRow component allows you to specify any valid Vertica SQL statements, including COPY statements.  Use tVerticaRow to load data into Vertica flex tables, or for other scenarios that require Vertica structures that are not supported with custom Talend components. 
Example: High-Performance COPY
In the following example, the source file is on the Vertica server and uses the high-performance Vertica COPY (not COPY FROM LOCAL). Whenever the source files are on the Vertica cluster, load data using high-performance COPY.
"COPY talend.store_target FROM '/home/dbadmin/store.csv' DELIMITER ';' 
Example: Loading into Flex Tables
This example shows how to run the Vertica flex example included in the Vertica package directory.
To create the flex table:
=> CREATE FLEX TABLE mountains();
To load data to the flex table:
=> COPY mountains FROM 
To create the view of the flex table:
Example:  Performing Vertica-to-Vertica COPY
This example shows a Vertica-to-Vertica COPY:

'VertTest01',5433;COPY customer_dimension FROM  VERTICA 
vmart.customer_dimension DIRECT;”

You can also use tVerticaRow to copy from Vertica to Vertica when no transformations are required. To do so, you need to perform additional steps to define the export addresses.
Connecting to a public network requires some configuration. For information about using this statement to copy data across a public network, see Using Public and Private IP Networks in the Vertica documentation.

Using Generic Talend ELT Components with Vertica

The ELT family of components group together database connectors and processing components for ELT mode, where the target DBMS becomes the transformation engine.  When possible, SQL statements are combined and processed in a single query on the database. The following illustration shows how Talend supports ELT with Vertica. This example uses the generic components for the entire job. 

When this job runs, Talend generates the following SQL statements:

=> INSERT  INTO store.regional_sales (store_name,store_city,store_region,sales_quantity,

(SELECT Store.store_dimension.store_name , Store.store_dimension.store_city , 
Store.store_dimension.store_region , sum(store.store_sales_fact.sales_quantity), 
sum(store.store_sales_fact.sales_dollar_amount) FROM  Store.store_dimension INNER JOIN  
store.store_sales_fact ON

(  store.store_sales_fact.store_key = Store.store_dimension.store_key  )

group by Store.store_dimension.store_name,
Store.store_dimension.store_city,Store.store_dimension.store_region )

Other Components for Bulk Loading

The tVerticaOutputBulk and tVerticaBulkExec components are generally used together in a two-step process. First, an output file is generated. In the second step, the output file is used in the INSERT operation that loads data into a database.
You can also choose to do both steps at once using the tVerticaOutputBulkExec component.  However, using tVerticaOutputBulk and tVerticaBulkExec allows the data to be transformed before it is loaded in the database.

Using the Talend SQL Builder

When using the SQL builder, be sure to include the schema name in the query:
=> SELECT * FROM store.store_dimension;

Enabling Parallelization in Talend

You can enable parallelized data flows. To do so, partition an input data flow of a Talend subjob into parallel processes and execute these processes simultaneously.    

Enabling Parallelization in the Talend Enterprise Edition

If you are using the Talend Enterprise Edition, you can enable or disable the parallelization with a single click. Talend Studio then automates the implementation across a given job.  For more information about this feature, click the following link:

Enabling Parallelization in the Talend Community Edition

If you are using the Talend Community Edition, add a WHERE clause to the original query to chunk the data.  This example results in four chunks.
original_sql + " and hash(" + primaryKey + ") % " + noOfThreads + " = " + i

=> SELECT if.* FROM inventory_fact if, warehouse_dimension wd WHERE

The preceding query chunks the SELECT operation into the following four queries:

=> SELECT if.* FROM inventory_fact if, warehouse_dimension wd WHERE
  if.warehouse_key=wd.warehouse_key AND HASH(product_key, date_key) % 4=1;
=> SELECT if.* FROM inventory_fact if, warehouse_dimension wd WHERE
  if.warehouse_key=wd.warehouse_key AND HASH(product_key, date_key) % 4=2;
=> SELECT if.* FROM inventory_fact if, warehouse_dimension wd WHERE
   if.warehouse_key=wd.warehouse_key AND HASH(product_key, date_key) % 4=3;
=> SELECT if.* FROM inventory_fact if, warehouse_dimension wd WHERE
   if.warehouse_key=wd.warehouse_key AND HASH(product_key, date_key) % 4=4;
Choose keys that have equal distribution. For example, the two keys chosen in the preceding example provide the following counts:

Key : 235164 Value : product_key , Key : 50148 Value : date_key
count, chunk
7501441, 1
7500008, 2
7497028, 0
7501523, 3

13 nov. 2019

STCard, a free license way to create powerful Scorecards

The improvements in this version of STCard, an open source based solution, are focused on user interface for panel and dashboard and also some enhancement in performance and close some old bugs:

- Import with ETL
- New KPIs always in red bug
- Tooltips and characters solved
- Export to PDF
- Modify colors of new scorecard
- Some other minus bugs...

It works with Pentaho and embeded in web applications

You can manage your organization with a powerful KPIs control with Balance Scorecard using STCard

You can see it in action in this Pentaho Demo Online and as a part of LinceBI suite

STCard doesn´t requiere anual license, you can manage unlimited users and it´s open source based. 

STCard includes professional services (training, support and maintenance, docs and bug resolution - so, you have high enterprise level guaranteed -)

Interested? contact Stratebi or LinceBI

See a Video Demo:

About main functionalities:

STCard works on top of Pentaho, is the best tool for managing your KPIs (Key Performance Indicators), targets an keep track of your Balance Scorecard strategy

Fully integrated with Pentaho CE, you can leverage all the power of this Open Source BI Suite

STCard is an open source tool developed by StrateBI for the creation, management and analysis of Scorecards.
A Scorecard is a global management system within an organization that allows you to have a view of it based on a number of perspectives. All these as a whole define the vision and strategy of the organization.
To define a Scorecard you have to define a clear strategy:
  • Strategic Objectives for the units of the organization.
  • Indicators (KPI’s) that mark the fulfillment of the strategic objectives.
The main features of STCard are:
  • Flexibility: A Scorecard is always referred to an organization as a whole, but with STCard we can create a scorecard for a specific area of the organization. For example:Treasury Financial Area, Consolidation, Suppliers, etc. On the other hand, the concept of flexibility is applicable to the creation of a scorecard in terms of the number of strategic perspectives and objectives. As many as you like. The philosophy of Kaplan and Norton is not limited to 4 perspectives: customer, financial, internal business procedures and learning and growth. You can create as you need
  • Flexibility does not break with the original philosophy. A scorecard in STCAD consists of a weighted hierarchical structure of 3 levels:
    • Perspective: from what point of view we will see our system. For example, financial, quality, customers, IT, etc.
    • Strategic Objective: what is our goal. For example, increase profitability, customer loyalty, incentive and motivation HR, etc.
    • Indicator (KPI): the measure or metric. Indicators can be quantitative or qualitative (confirmation / domain values), and these always have a real value and a target value.
For the launch of the ScoreCard we can consider three scenarios:
  • This scenario has a rapid implementation, and only requires the definition of a load processes to obtain the information of the indicators of the organization and adapt it to STCard.
  • The organization lacks a system / repository of indicators.
    This variant requires more consulting work, because in the organization, first, a pure BI project must be carried out to obtain those indicators to be dealt with later in STCARD.
    For example: data sources; ETL processes; System / repository of indicators; Load processes in STCard.
  • Immediate start-up:
    It is the fastest alternative, only requires installation / configuration and training. Data management is done through Excel templates. No additional consulting work required.
    Users set values through Excel templates, where data is filled. These values are loaded into STCARD and after this, it is the users who interact with STCARD.

These are the main features of STCard:

12 nov. 2019

Como sacar todo el partido a los mapas en tus visualizaciones

Muy interesante lo que podéis encontrar en este enlace. Y todo Open Source. Descargar imagen en PDF

Como construir diversos tipos de mapas (incluye código)

11 nov. 2019

Caso Practico: trabajando con APIs y Talend

En este ejercicio practico, vamos a enriquecer el flujo de datos con API de datos estadísticos.

Descargar Documento completo

1      Introducción

El propósito de este documento es demostrar como con un pequeño ejemplo se puede establecer un flujo de datos continuo entre la API Idescat y la herramienta Talend.

El Idescat expone parte de sus datos a través de una colección de API de tipo REST. Además, la API del Idescat ofrece métodos (GET principalmente) para que los programas de terceros puedan obtener información del Instituto de Estadística de Cataluña e integrarla en otros servicios.

Las peticiones sobre la API se componen siempre de un servicio, una versión, una operación, formato y parámetros opcionales.

Los servicios disponibles son:

  • Indicadores al día: proporciona información básica de una selección de indicadores de Cataluña.
  • Búsqueda de población: proporciona información de la población por sexo de cualquier entidad territorial de Cataluña.
  • Rectificaciones: da acceso a la información del registro de rectificaciones del sitio web del Idescat.
  • Municipio en cifras: acceso a información estadística básica comparativa de municipios, comarcas y Cataluña.
  • Calendario de difusión de resultados: información del calendario del Idescat de difusión de resultados.
  • Días Internacionales: Api desactivada en 2013.
  • Onomástica: información estadística de nombres y apellidos de la población y nombres de los recién nacidos.
  • Incrustaciones: proporciona contenido asociado que puede ser incrustado en páginas de terceros.

Cada uno de los servicios de la API tienen operaciones comunes y/o propias para la solicitud de las peticiones.
Para una mayor referencia sobre todo en términos de parametrización de la API suministramos el siguiente enlace:, donde se encontrarán los servicios mencionados y una mayor documentación de la misma.

Por parte de Talend se dispondrá de un ejercicio que solicitará datos a la API, los cuales serán tratados y comparados con los documentos Excel suministrados.

8 nov. 2019

Las 50 claves para aprender y conocer PowerBI

Si tenéis curiosidad por conocer sobre todas las posibilidades de PowerBI, como funciona, integración, costes, etc... no te puedes perder este documento. 

Altamente recomendable!!!

También te puede interesar:

Las 50 claves para conocer Futbol Analytics

Os presentamos un estudio muy interesante sobre Fútbol Analytics, un área que está teniendo un crecimiento espectacular, gracias al uso de Big Data, Machine Learning, Internet of Things, etc...  Temas que nos apasionan en este Portal.  Nuestros compañeros de Stratebi, especialistas en este ámbito y que ya han colaborado con algún club de fútbol de Primera División, os dan las 50 claves para estar al día en Fútbol Analytics También...

Las 53 Claves para conocer Machine Learning

Si hace unos días os presentábamos las 69 claves para conocer Big Data, que ya lleva más de 2.500 visitas, 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 ...

69 claves para conocer Big Data

Presentación sencilla, útil y muy clarificadora... Quizás te interese también: Big Data para Dummies y 53 Claves para conocer Machine Learning...

Saber más sobre PowerBI:

Big Data para PowerBI

Power BI es un conjunto de herramientas Business Intelligence (BI) desarrolladas por Microsoft. De reciente aparición, gracias a su simplicidad y potencia se ha hecho un un hueco entre las grandes del mercado como Tableau, Pentaho o Microstrategy.  Al igual que estas últimas, implementa la filosofía de Autoservicio para el usuario final (Self Service BI) llevada al extremo de la sencillez, pero con un gran número de características...

Working together PowerBI with the best open source solutions

Here you can see a nice sample combining PowerBI with open source based Business Intelligence solutions, like LinceBI, in order to provide the most complete BI solution with an affordable cost - Predefined Dashboards - Adhoc Reporting - OLAP Analysis - Adhoc Dashboarding - Scorecards More info: - PowerBI functionalities - PowerBI traini...

Comparativa de Costes Tableau vs PowerBI

  Os dejamos un documento listo para descargar, con una comparativa muy completa de costes entre Tableau y PowerBI (hay que decir que el informe ha sido encargado por Tableau, por lo que puede tener cierto sesgo).  Por ejemplo, en cuanto al esfuerzo de este tipo de proyectos, si tenemos en cuenta que ambas son herramientas de Data Discovery (usuario final), no se tiene suficientemente en cuenta la parte más importante, el modelado,...

7 nov. 2019

Ejercicio practico de Machine Learning con Jupyter Notebooks, Anaconda y Python 3

Que mejor forma que aprender de Machine Learning, con algunas de las tecnologías mas potentes y completas, que mediante la realización de un buen ejercicio práctico.

Podéis seguir el tutorial práctico en el video y también utilizar la presentación.

Esperamos que os sea útil!!

Descarga Paper gratuito: Funciones avanzadas de Vertica para Machine Learning

Tenéis a vuestra disposición un paper con funciones avanzadas de Vertica para Machine Learning. Descárgalo

Funciones de Vertica para el Machine Learning. Ya vienen con Vertica, por lo que:

i), no requieren programación ni instalación, 

ii), son más eficientes que otras opciones como la integración con Python/Pandas, 

iii) se aplican sobre tablas o vistas, 

iv) implementan los algoritmos más conocidos de Machine Learning. Además, son muy sencillas de usar y aprovechan la potencia de ejecución distribuida de un clúster Vertica.

En el siguiente diagrama se muestran las funciones nativas de Vertica para la analítica avanzada. 

Estas cubren todas las fases de una aplicación de Machine Learning (Pipeline de una aplicación ML): Análisis de datos origen para entender mejor el negocio, preparación de los datos, Modelado, Evaluación de los modelos generados y puesta en producción para la aplicación del modelo.

Ejemplo de modelos explicados en el paper: