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

Aprende gratis Analytics OLAP sobre Pentaho

La solución open source para business intelligence y Big Data sobre Pentaho, no te lo pierdas!!

17 ago. 2018

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

Aprende Machine Learning con Facebook

Gran iniciativa de Facebook, que nos explica en 6 videos como aplicar Machine Learning en casos concretos, siguiendo el siguiente patrón:

1. Problem definition
2. Data
3. Evaluation
4. Features
5. Model
6. Experimentation

Muy recomendable

18 jul. 2018

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 os incluimos abajo, información de otros documentos publicados y demos que os pueden ser de interés:

Aplicando Business Intelligence y Open Source a la analitica de datos en el Futbol

Para todos los apasionados de las Estadísticas, del Futbol y del Open Source os presentamos la versión actualizada de Tablero Futbolero Incluye las estadísticas de las ultimas 9 temporadas. Algunas caracteristicas: - Creado con Business Intelligence Open Source: Pentaho, PDI Kettle, Mondrian, STPivot, MySQL... - Compatible con dispositivos móviles - Ficha de jugador, equipo, partido, arbitro - 11 ideal (simulación) - Comparativa Real Madrid...

Fútbol Analytics

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

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

Mas de 20 Tecnicas y Tipos de Analisis Big Data

A continuación, os detallamos las principales técnicas y tipos de análisis que se realizan en Big Data, muchas veces agrupadas bajo nombres como algoritmos, machine learning, etc.... pero que no siempre se explican correctamente Aquí os hemos creado algunos ejemplos online usando algunas de estas técnicas Si quieres saber más, puedes consultar también otros posts relacionados: - Las 53 Claves para conocer Machine Learning - 69 claves...

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

Explicacion sencilla de arquitecturas Business Intelligence

En este post muy útil, se hace un repaso a las diferentes alternativas en que la información puede ser consumida por los usuarios y las diferentes formas de almacenamiento de la misma. 

Habría que decir, que todas ellas son formas de analizar la información y tomar decisiones, esto es, Business Intelligence; aunque en rigor, sólo las más óptimas en cuanto a uso de Data Marts DW y optimización del acceso por los usuarios, se consideran de forma habitual como propias del BI.

Os muestro los gráficos de las diferentes alternativas y una comparativa. 

Nuestra opinión, aparte de las buenas prácticas de diseño y arquitectura, es que debemos ser conscientes de los requerimientos, necesidades y condicionantes de las empresas y clientes, puesto que en muchas ocasiones se tratará de 'balancear' entre lo correcto desde el punto de vista teórico y lo factible desde el punto de vista práctico y real, que no siempre coinciden.

1. Sistema de Información Transaccional

2. Sistema de Información con transaccional replicado

3. Sistema de Información con Data Marts

4. Sistema de Información con un DataWarehouse empresarial

5. Comparativa de caracteristicas

Gracias a Nick Goodman

16 jul. 2018

Humor Analytics

Más humor en Analytics que te puede interesar:

Las 7 personas que necesitas en tu equipo de datos

Great and funny data info in Lies, Damned Lies 1. The Handyman The Handyman can take a couple of battered, three-year-old servers, a copy of MySQL, a bunch of Excel sheets and a roll of duct tape and whip up a basic BI system in a couple of weeks. His work isn’t always the prettiest, and you should expect to replace it as you build out more production-ready systems, but the Handyman is an invaluable help as you explore datasets...

Ebook gratuito, La Consultoria con Humor

Ya podéis bajaros el libro de 'La Gacela de Wirayut' para leer en vuestro tablet preferido de forma gratuita, en formato pdf. A todos los que habéis trabajado, trabajais en el mundo de la consultoría, o habéis tratado con consultores, seguro que hay muchas cosas que os resultan familiares. Se da un repaso a la inutilidad de muchas reuniones de trabajo, la relación con los jefes, el uso del e-mail y de internet, la hipocresía en muchas empresas. Un...

Analytics humour

Great!! Please, advise: 'Do insights, not charts...

Predictions: A Cynic’s Guide To BI In 2017

Genial esta descripción de Timo Elliot (uno de los mayores especialistas en Business Intelligence). No tiene desperdicio!! Businesspeople Businesspeople will be dissatisfied with their BI systems (this is “Timo’s First Law of BI”) Executives will refuse to learn to use any other data tool than Excel (and not even the newer features of that). No matter how good the BI system, businesspeople will make bad decisions based on gut feel. Executives...

Los peores graficos del mundo

Gráficos hay muchos: buenos, regulares y malos. En esta ocasión os hemos seleccionado aquellos fuera de categoría y de cualquier uso sensato posible, :-)     Continuará....

The Expert (Short Comedy Sketch)

Genial!! Seguro que te has encontrado algo similar en una reunión Ponedle los substitulos en la parte inferior derecha ...

Vamos a usar Big Data

Genial... ...

Buscando el Pie Chart definitivo

Un poco de humor, ...

Visualizaciones, nos hemos vuelto locos!!

La proliferación del interés en la visualización de datos ha hecho que se cometan auténticas barbaridades a la hora de representar la información. En la web,  , hacen una gran recopilación con bastantes ejemplos. Mezclando New York City con los Estudiantes, en el mismo plano Mi no entender Jugando al Comecocos Mi no entender II No querías tartas en el Cuadro de Mando...

Como hacer un buen pie chart: por fin explicado

Gran videotutorial sobre como hacer uno de nuestros elementos gráficos 'preferidos': el Pie Chart (con gran sentido del humor) ...

En tierra extraña (cuando se llega a una empresa ‘cliente’)

En muchos de los trabajos actuales, sobre todo en aquellos englobados en lo que se llaman servicios profesionales, tales como consultores, auditores y outsourcing es práctica habitual trabajar en las oficinas del cliente. Por tanto, dado que cada vez más profesionales desarrollan su trabajo en un lugar diferente al suyo, se hace necesario observar detenidamente cual es la mejor forma de llevar a cabo nuestras tareas laborales en...

Visto a través de Diego Arenas, @darenasc Normal 0 21 false false false ES X-NONE X-NONE ...

Chistes sobre Business Intelligence

De vez en cuando añadimos una nota de humor (ver otras entradas) al mundo del Business Intelligence. Hoy una buena recopilación de chistes: Visto en v1s...

Usuarios y Programadores

Un poco de humor para acabar la semana... ...

Las Reuniones de Trabajo

De todos es sabido que gran parte del tiempo que pasamos en el trabajo transcurre en lo que habitualmente llamamos reuniones.A la hora de computar este tiempo debemos sumar todo aquello referente a la convocatoria de la reunión, establecer la agenda, reserva de la sala, disponer de los medios necesarios, redacción de actas, aprobaciones, acciones a realizar, nuevas convocatorias, etc... de modo que la reunión se convierte en un proceso cíclico que...

Humor analisis predictivo

Una nota de humor BI para cerrar la semana, de John Klossn...