SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Todo lo que Un integrador de datos debería tener…
y parece que se nos olvida…
Soy experto en
creación de ETL
Se un montón de T-SQL
Sé un montón de SSIS
Me conozco el libro de Kimball mejor que el menú
de Mcdonals
Hace 15 años que prácticamente hago etls
Y sin embargo
Mis ETL siguen fallando
Algunos problemas los evalúo un tiempo después
y me asusta mi código
Cada vez que falla algo en producción, mi log
tiene mil cosas estúpidas pero ni una pista de
porque
Me cuesta dar un montón de explicaciones
• ETL sirve para proveer de conocimiento
• Pero nos centramos en datos
En que falla la industria
• Tenemos que describir el cómo
No nos basta con saber el qué
• Pero olvidamos el propósito
Nos centramos en los detalles
• Mi proceso ha funcionado… tu sabras porque no cuadra
Nos pasa como en Desarrollo
Agenda
Estado del arte de la creación de ETL’s
Patrones ETL-ELT.Staging-orquestacion
Aprendiendo de DEV
Conclusiones
Estado del arte II
La visión del leader
Estado del Arte III
SSIS
Pentaho Data Integrator (spoon) <component
refId="PackageLoadDataLoad Staging TableSTG"
componentClassID="Microsoft.OLEDBSource"
contactInfo="OLE DB Source;Microsoft Corporation; Microsoft SQL Server; (C) Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;7"
name="STG"
usesDispositions="true"
version="7">
<properties>
<property
dataType="System.Int32"
description="The number of seconds before a command times out. A value of 0 indicates an infinite time-out."
name="CommandTimeout">0</property>
<property
dataType="System.String"
description="Specifies the name of the database object used to open a rowset."
name="OpenRowset"></property>
<property
dataType="System.String"
description="Specifies the variable that contains the name of the database object used to open a rowset."
name="OpenRowsetVariable"></property>
<property
dataType="System.String"
description="The SQL command to be executed."
name="SqlCommand"
UITypeEditor="Microsoft.DataTransformationServices.Controls.ModalMultilineStringEditor, Microsoft.DataTransformationServices.Controls, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">SELECT [FirstName] ,[FullName] ,[idCustomer] ,[LastName] ,[MiddleName] ,[pkCustomerID] ,[Title] FROM etl.vw_dim_Customer ;</property>
<property
dataType="System.String"
description="The variable that contains the SQL command to be executed."
name="SqlCommandVariable"></property>
<property
dataType="System.Int32"
description="Specifies the column code page to use when code page information is unavailable fromthe data source."
name="DefaultCodePage">1252</property>
<property
dataType="System.Boolean"
description="Forces the use of the DefaultCodePage property value when describing character data."
name="AlwaysUseDefaultCodePage">false</property>
<property
dataType="System.Int32"
description="Specifies the mode used to access the database."
name="AccessMode"
typeConverter="AccessMode">2</property>
<property
dataType="System.String"
description="The mappings between the parameters in the SQL command and variables."
name="ParameterMapping"></property>
</properties>
<connections>
<connection
refId="PackageLoad DataLoad Staging TableSTG.Connections[OleDbConnection]"
connectionManagerID="{91D4C3C0-C280-487E-9E29-8337CE452461}:external"
connectionManagerRefId="Project.ConnectionManagers[STG1]"
description="The OLE DB runtime connection used to access the database."
name="OleDbConnection" />
</connections>
<outputs>
<output
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output]"
name="Output">
<outputColumns>
<outputColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[FirstName]"
dataType="wstr"
errorOrTruncationOperation="Conversion"
errorRowDisposition="FailComponent"
externalMetadataColumnId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[FirstName]"
length="50"
lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[FirstName]"
name="FirstName"
truncationRowDisposition="FailComponent" />
<outputColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[FullName]"
dataType="wstr"
errorOrTruncationOperation="Conversion"
errorRowDisposition="FailComponent"
externalMetadataColumnId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[FullName]"
length="161"
lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[FullName]"
name="FullName"
truncationRowDisposition="FailComponent" />
<outputColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[idCustomer]"
dataType="wstr"
errorOrTruncationOperation="Conversion"
errorRowDisposition="FailComponent"
externalMetadataColumnId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[idCustomer]"
length="15"
lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[idCustomer]"
name="idCustomer"
truncationRowDisposition="FailComponent" />
<outputColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[LastName]"
dataType="wstr"
errorOrTruncationOperation="Conversion"
errorRowDisposition="FailComponent"
externalMetadataColumnId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[LastName]"
length="50"
lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[LastName]"
name="LastName"
truncationRowDisposition="FailComponent" />
<outputColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[MiddleName]"
dataType="wstr"
errorOrTruncationOperation="Conversion"
errorRowDisposition="FailComponent"
externalMetadataColumnId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[MiddleName]"
length="50"
lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[MiddleName]"
name="MiddleName"
truncationRowDisposition="FailComponent" />
<outputColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[pkCustomerID]"
dataType="i4"
errorOrTruncationOperation="Conversion"
errorRowDisposition="FailComponent"
externalMetadataColumnId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[pkCustomerID]"
lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[pkCustomerID]"
name="pkCustomerID"
truncationRowDisposition="FailComponent" />
<outputColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[Title]"
dataType="wstr"
errorOrTruncationOperation="Conversion"
errorRowDisposition="FailComponent"
externalMetadataColumnId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[Title]"
length="8"
lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[Title]"
name="Title"
truncationRowDisposition="FailComponent" />
</outputColumns>
<externalMetadataColumns
isUsed="True">
<externalMetadataColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[FirstName]"
dataType="wstr"
length="50"
name="FirstName" />
<externalMetadataColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[FullName]"
dataType="wstr"
length="161"
name="FullName" />
<externalMetadataColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[idCustomer]"
dataType="wstr"
length="15"
name="idCustomer" />
<externalMetadataColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[LastName]"
dataType="wstr"
length="50"
name="LastName" />
<externalMetadataColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[MiddleName]"
dataType="wstr"
length="50"
name="MiddleName" />
<externalMetadataColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[pkCustomerID]"
dataType="i4"
name="pkCustomerID" />
<externalMetadataColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[Title]"
dataType="wstr"
length="8"
name="Title" />
</externalMetadataColumns>
</output>
<output
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Error]"
isErrorOut="true"
name="Error">
<outputColumns>
<outputColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Error].Columns[FirstName]"
dataType="wstr"
length="50"
lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Error].Columns[FirstName]"
name="FirstName" />
<outputColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Error].Columns[FullName]"
dataType="wstr"
length="161"
lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Error].Columns[FullName]"
name="FullName" />
<outputColumn
refId="PackageLoad DataLoad Staging TableSTG.Outputs[Error].Columns[idCustomer]"
dataType="wstr"
length="15"
Estado del arte IV
<OleDbSource Name="HLP" ConnectionName="HLP<#=helper.connection_id#>">
<DirectInput>SELECT * FROM <#=row["source_object_schema"]#>.<#=row["source_object_name"]#>
</DirectInput>
</OleDbSource>
BIML
Estado del arte V
Fabricantes
• En ejecución algunos códigos son
lamentables
• Mientras en SQL decimos el que TODOS
los fabricantes nos obligan a expresar el
COMO
• En algunos es imposible generar ese
código de forma automática
Industria
• Alguna empresa aprovecha los huecos
para hacer “facilities”
• Muchos nos hacemos frameworks que
ayudan un montón
• Nadie (o casi nadie que el mundo es muy
grande) se preocupa por cambiar el
paradigma
ETL-ELT
Data lake
SSIS
Volumen Variabilidad
Velocidad
Datos
crudos
Esta de
moda
Inciso sobre Azure DataBricks
"activities":[
{ "name": "CopyActivityTemplate",
"type": "Copy",
"inputs":
[ { "referenceName": "<source dataset name>",
"type": "DatasetReference" } ],
"outputs":
[{ "referenceName": "<sink dataset name>",
"type": "DatasetReference" } ],
"typeProperties":
{ "source": { "type": "<source type>", <properties> },
"sink": { "type": "<sink type>" <properties> },
"translator": { "type": "TabularTranslator",
"columnMappings": "<column mapping>" },
"cloudDataMovementUnits": <number>,
"parallelCopies": <number>,
"enableStaging": true/false,
"stagingSettings": { <properties> },
"enableSkipIncompatibleRow": true/false,
redirectIncompatibleRowSettings": { <properties> } } } ]
Inciso sobre Azure DataBricks II RDDs
Big-data
scale
In Memory
“SQL
lambda like”
Spark
Spark Notebooks
RDD
Aprendiendo desde desarrollo
• Desarrollo orientado a test
• Integración con código fuente
• Integración continua
• Devops
Aprendiendo desde Dev
Test en
desarrollo
• Test que se ejecutan una sola vez
• Test que ejecutamos periódicamente
• Ncientas queries que guardamos
por si acaso
Test para
producción
• Repetibles
• Metódicas
• Que aporten valor de negocio
• Que sean completas
Aprendiendo desde Dev
Test en
desarrollo
• Test que se ejecutan una sola vez
• Test que ejecutamos periódicamente
• Ncientas queries que guardamos
por si acaso
Test
• Repetibles
• Metódicas
• Que aporten valor de negocio
• Que sean completas
Otra forma de hacer TEST
Integración con código fuente
• Sigue las prácticas de desarrollo
• Considera tus ETLS como código fuente
• Versiona-Etiqueta-Crea ramas
• Define tus prácticas y cúmplelas
Conclusiones y Discusión
Preguntas

Más contenido relacionado

La actualidad más candente

Acceso A Datos Y Ado.Net
Acceso A Datos Y Ado.NetAcceso A Datos Y Ado.Net
Acceso A Datos Y Ado.Netjennysofia
 
Hacking ético en aplicaciones web [SQL Injection]
Hacking ético en aplicaciones web [SQL Injection]Hacking ético en aplicaciones web [SQL Injection]
Hacking ético en aplicaciones web [SQL Injection]Eduardo Arriols Nuñez
 
TUTORIAL DE ADO.NET MUY BUENO
TUTORIAL DE ADO.NET MUY BUENOTUTORIAL DE ADO.NET MUY BUENO
TUTORIAL DE ADO.NET MUY BUENOiberhack
 
8. Acceso A Datos Con Microsoft Ado.Net
8.  Acceso A Datos Con Microsoft Ado.Net8.  Acceso A Datos Con Microsoft Ado.Net
8. Acceso A Datos Con Microsoft Ado.Netguest3cf6ff
 
Ejemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportEjemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportjbersosa
 
Ado.net 2012
Ado.net 2012Ado.net 2012
Ado.net 2012pepelon_k
 
Objeto ado.net
Objeto ado.netObjeto ado.net
Objeto ado.netbarby1820
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en javajent46
 
Cuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemploCuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemploWilliam Sánchez
 

La actualidad más candente (19)

Acceso A Datos Y Ado.Net
Acceso A Datos Y Ado.NetAcceso A Datos Y Ado.Net
Acceso A Datos Y Ado.Net
 
Hacking ético en aplicaciones web [SQL Injection]
Hacking ético en aplicaciones web [SQL Injection]Hacking ético en aplicaciones web [SQL Injection]
Hacking ético en aplicaciones web [SQL Injection]
 
TUTORIAL DE ADO.NET MUY BUENO
TUTORIAL DE ADO.NET MUY BUENOTUTORIAL DE ADO.NET MUY BUENO
TUTORIAL DE ADO.NET MUY BUENO
 
Bases de Datos - Parte 9/10 XML
Bases de Datos - Parte 9/10 XMLBases de Datos - Parte 9/10 XML
Bases de Datos - Parte 9/10 XML
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Guía herramientas de BD PHP
Guía herramientas de BD PHPGuía herramientas de BD PHP
Guía herramientas de BD PHP
 
Apuntes de XSD
Apuntes de XSDApuntes de XSD
Apuntes de XSD
 
PHP - MYSQL
PHP - MYSQLPHP - MYSQL
PHP - MYSQL
 
8. Acceso A Datos Con Microsoft Ado.Net
8.  Acceso A Datos Con Microsoft Ado.Net8.  Acceso A Datos Con Microsoft Ado.Net
8. Acceso A Datos Con Microsoft Ado.Net
 
Ejemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportEjemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper report
 
Tema 2
Tema 2Tema 2
Tema 2
 
Tema 4 5_1_acceso_datos
Tema 4 5_1_acceso_datosTema 4 5_1_acceso_datos
Tema 4 5_1_acceso_datos
 
ADO .NET
ADO .NETADO .NET
ADO .NET
 
Ado.net 2012
Ado.net 2012Ado.net 2012
Ado.net 2012
 
Base de datos
Base de datosBase de datos
Base de datos
 
Objeto ado.net
Objeto ado.netObjeto ado.net
Objeto ado.net
 
Java y Bases Datos
Java y Bases DatosJava y Bases Datos
Java y Bases Datos
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en java
 
Cuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemploCuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemplo
 

Similar a SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y parece que se nos olvida...

Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.Juan Manuel
 
XQuery y XPath for SQL Server 2012 itpros dc_chapter6
XQuery y XPath for SQL Server 2012 itpros dc_chapter6XQuery y XPath for SQL Server 2012 itpros dc_chapter6
XQuery y XPath for SQL Server 2012 itpros dc_chapter6Julián Castiblanco
 
Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Asier Marqués
 
Bases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCBases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCCarlos Hernando
 
OVA DISEÑO ORACLE Introducción Bases de Datos .pptx
OVA DISEÑO ORACLE Introducción Bases de Datos .pptxOVA DISEÑO ORACLE Introducción Bases de Datos .pptx
OVA DISEÑO ORACLE Introducción Bases de Datos .pptxMARGOTHLORENAMARTINE
 
Sql plus temario
Sql plus temarioSql plus temario
Sql plus temarioHugo Mdz
 
Guia N5 Proyectos Web Consultas Php Y My Sql
Guia N5   Proyectos Web   Consultas Php Y My SqlGuia N5   Proyectos Web   Consultas Php Y My Sql
Guia N5 Proyectos Web Consultas Php Y My SqlJose Ponce
 
Base de datos dinamicas
Base de datos dinamicasBase de datos dinamicas
Base de datos dinamicasel_rosales
 
Escalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLEscalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLLorena Fernández
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggersLuis Jherry
 

Similar a SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y parece que se nos olvida... (20)

Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
 
XQuery y XPath for SQL Server 2012 itpros dc_chapter6
XQuery y XPath for SQL Server 2012 itpros dc_chapter6XQuery y XPath for SQL Server 2012 itpros dc_chapter6
XQuery y XPath for SQL Server 2012 itpros dc_chapter6
 
Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2
 
Tuning fondo-negro-2
Tuning fondo-negro-2Tuning fondo-negro-2
Tuning fondo-negro-2
 
Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)
 
Documentacion jhon elvis_quispe_gutierrez
Documentacion jhon elvis_quispe_gutierrezDocumentacion jhon elvis_quispe_gutierrez
Documentacion jhon elvis_quispe_gutierrez
 
Xml
XmlXml
Xml
 
Bases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCBases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBC
 
OVA DISEÑO ORACLE Introducción Bases de Datos .pptx
OVA DISEÑO ORACLE Introducción Bases de Datos .pptxOVA DISEÑO ORACLE Introducción Bases de Datos .pptx
OVA DISEÑO ORACLE Introducción Bases de Datos .pptx
 
Sql plus temario
Sql plus temarioSql plus temario
Sql plus temario
 
Ejemplo bbdd sqlite (android)
Ejemplo bbdd sqlite (android)Ejemplo bbdd sqlite (android)
Ejemplo bbdd sqlite (android)
 
SQL_ADO.NET.ppt
SQL_ADO.NET.pptSQL_ADO.NET.ppt
SQL_ADO.NET.ppt
 
SQL_ADO.NET.pptx
SQL_ADO.NET.pptxSQL_ADO.NET.pptx
SQL_ADO.NET.pptx
 
Guia N5 Proyectos Web Consultas Php Y My Sql
Guia N5   Proyectos Web   Consultas Php Y My SqlGuia N5   Proyectos Web   Consultas Php Y My Sql
Guia N5 Proyectos Web Consultas Php Y My Sql
 
J M E R L I N P H P
J M E R L I N P H PJ M E R L I N P H P
J M E R L I N P H P
 
Base de datos dinamicas
Base de datos dinamicasBase de datos dinamicas
Base de datos dinamicas
 
Guiapractica de bd completa
Guiapractica de bd completaGuiapractica de bd completa
Guiapractica de bd completa
 
Sql
SqlSql
Sql
 
Escalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLEscalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQL
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
 

Más de SolidQ

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?SolidQ
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en LinuxSolidQ
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida realSolidQ
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízateSolidQ
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksSolidQ
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BISolidQ
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesSolidQ
 
R en relacional
R en relacionalR en relacional
R en relacionalSolidQ
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!SolidQ
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en AzureSolidQ
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018SolidQ
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018SolidQ
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018SolidQ
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018SolidQ
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...SolidQ
 
Novedades de SSAS 2017
Novedades de SSAS 2017Novedades de SSAS 2017
Novedades de SSAS 2017SolidQ
 

Más de SolidQ (20)

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
 
R en relacional
R en relacionalR en relacional
R en relacional
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
 
Novedades de SSAS 2017
Novedades de SSAS 2017Novedades de SSAS 2017
Novedades de SSAS 2017
 

Último

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Último (13)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y parece que se nos olvida...

  • 1. Todo lo que Un integrador de datos debería tener… y parece que se nos olvida…
  • 2. Soy experto en creación de ETL Se un montón de T-SQL Sé un montón de SSIS Me conozco el libro de Kimball mejor que el menú de Mcdonals Hace 15 años que prácticamente hago etls Y sin embargo Mis ETL siguen fallando Algunos problemas los evalúo un tiempo después y me asusta mi código Cada vez que falla algo en producción, mi log tiene mil cosas estúpidas pero ni una pista de porque Me cuesta dar un montón de explicaciones
  • 3. • ETL sirve para proveer de conocimiento • Pero nos centramos en datos En que falla la industria • Tenemos que describir el cómo No nos basta con saber el qué • Pero olvidamos el propósito Nos centramos en los detalles • Mi proceso ha funcionado… tu sabras porque no cuadra Nos pasa como en Desarrollo
  • 4. Agenda Estado del arte de la creación de ETL’s Patrones ETL-ELT.Staging-orquestacion Aprendiendo de DEV Conclusiones
  • 5.
  • 6. Estado del arte II La visión del leader
  • 7. Estado del Arte III SSIS Pentaho Data Integrator (spoon) <component refId="PackageLoadDataLoad Staging TableSTG" componentClassID="Microsoft.OLEDBSource" contactInfo="OLE DB Source;Microsoft Corporation; Microsoft SQL Server; (C) Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;7" name="STG" usesDispositions="true" version="7"> <properties> <property dataType="System.Int32" description="The number of seconds before a command times out. A value of 0 indicates an infinite time-out." name="CommandTimeout">0</property> <property dataType="System.String" description="Specifies the name of the database object used to open a rowset." name="OpenRowset"></property> <property dataType="System.String" description="Specifies the variable that contains the name of the database object used to open a rowset." name="OpenRowsetVariable"></property> <property dataType="System.String" description="The SQL command to be executed." name="SqlCommand" UITypeEditor="Microsoft.DataTransformationServices.Controls.ModalMultilineStringEditor, Microsoft.DataTransformationServices.Controls, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">SELECT [FirstName] ,[FullName] ,[idCustomer] ,[LastName] ,[MiddleName] ,[pkCustomerID] ,[Title] FROM etl.vw_dim_Customer ;</property> <property dataType="System.String" description="The variable that contains the SQL command to be executed." name="SqlCommandVariable"></property> <property dataType="System.Int32" description="Specifies the column code page to use when code page information is unavailable fromthe data source." name="DefaultCodePage">1252</property> <property dataType="System.Boolean" description="Forces the use of the DefaultCodePage property value when describing character data." name="AlwaysUseDefaultCodePage">false</property> <property dataType="System.Int32" description="Specifies the mode used to access the database." name="AccessMode" typeConverter="AccessMode">2</property> <property dataType="System.String" description="The mappings between the parameters in the SQL command and variables." name="ParameterMapping"></property> </properties> <connections> <connection refId="PackageLoad DataLoad Staging TableSTG.Connections[OleDbConnection]" connectionManagerID="{91D4C3C0-C280-487E-9E29-8337CE452461}:external" connectionManagerRefId="Project.ConnectionManagers[STG1]" description="The OLE DB runtime connection used to access the database." name="OleDbConnection" /> </connections> <outputs> <output refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output]" name="Output"> <outputColumns> <outputColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[FirstName]" dataType="wstr" errorOrTruncationOperation="Conversion" errorRowDisposition="FailComponent" externalMetadataColumnId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[FirstName]" length="50" lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[FirstName]" name="FirstName" truncationRowDisposition="FailComponent" /> <outputColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[FullName]" dataType="wstr" errorOrTruncationOperation="Conversion" errorRowDisposition="FailComponent" externalMetadataColumnId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[FullName]" length="161" lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[FullName]" name="FullName" truncationRowDisposition="FailComponent" /> <outputColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[idCustomer]" dataType="wstr" errorOrTruncationOperation="Conversion" errorRowDisposition="FailComponent" externalMetadataColumnId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[idCustomer]" length="15" lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[idCustomer]" name="idCustomer" truncationRowDisposition="FailComponent" /> <outputColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[LastName]" dataType="wstr" errorOrTruncationOperation="Conversion" errorRowDisposition="FailComponent" externalMetadataColumnId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[LastName]" length="50" lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[LastName]" name="LastName" truncationRowDisposition="FailComponent" /> <outputColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[MiddleName]" dataType="wstr" errorOrTruncationOperation="Conversion" errorRowDisposition="FailComponent" externalMetadataColumnId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[MiddleName]" length="50" lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[MiddleName]" name="MiddleName" truncationRowDisposition="FailComponent" /> <outputColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[pkCustomerID]" dataType="i4" errorOrTruncationOperation="Conversion" errorRowDisposition="FailComponent" externalMetadataColumnId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[pkCustomerID]" lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[pkCustomerID]" name="pkCustomerID" truncationRowDisposition="FailComponent" /> <outputColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[Title]" dataType="wstr" errorOrTruncationOperation="Conversion" errorRowDisposition="FailComponent" externalMetadataColumnId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[Title]" length="8" lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].Columns[Title]" name="Title" truncationRowDisposition="FailComponent" /> </outputColumns> <externalMetadataColumns isUsed="True"> <externalMetadataColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[FirstName]" dataType="wstr" length="50" name="FirstName" /> <externalMetadataColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[FullName]" dataType="wstr" length="161" name="FullName" /> <externalMetadataColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[idCustomer]" dataType="wstr" length="15" name="idCustomer" /> <externalMetadataColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[LastName]" dataType="wstr" length="50" name="LastName" /> <externalMetadataColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[MiddleName]" dataType="wstr" length="50" name="MiddleName" /> <externalMetadataColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[pkCustomerID]" dataType="i4" name="pkCustomerID" /> <externalMetadataColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Output].ExternalColumns[Title]" dataType="wstr" length="8" name="Title" /> </externalMetadataColumns> </output> <output refId="PackageLoad DataLoad Staging TableSTG.Outputs[Error]" isErrorOut="true" name="Error"> <outputColumns> <outputColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Error].Columns[FirstName]" dataType="wstr" length="50" lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Error].Columns[FirstName]" name="FirstName" /> <outputColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Error].Columns[FullName]" dataType="wstr" length="161" lineageId="PackageLoad DataLoad Staging TableSTG.Outputs[Error].Columns[FullName]" name="FullName" /> <outputColumn refId="PackageLoad DataLoad Staging TableSTG.Outputs[Error].Columns[idCustomer]" dataType="wstr" length="15"
  • 8. Estado del arte IV <OleDbSource Name="HLP" ConnectionName="HLP<#=helper.connection_id#>"> <DirectInput>SELECT * FROM <#=row["source_object_schema"]#>.<#=row["source_object_name"]#> </DirectInput> </OleDbSource> BIML
  • 9. Estado del arte V Fabricantes • En ejecución algunos códigos son lamentables • Mientras en SQL decimos el que TODOS los fabricantes nos obligan a expresar el COMO • En algunos es imposible generar ese código de forma automática Industria • Alguna empresa aprovecha los huecos para hacer “facilities” • Muchos nos hacemos frameworks que ayudan un montón • Nadie (o casi nadie que el mundo es muy grande) se preocupa por cambiar el paradigma
  • 11. Inciso sobre Azure DataBricks "activities":[ { "name": "CopyActivityTemplate", "type": "Copy", "inputs": [ { "referenceName": "<source dataset name>", "type": "DatasetReference" } ], "outputs": [{ "referenceName": "<sink dataset name>", "type": "DatasetReference" } ], "typeProperties": { "source": { "type": "<source type>", <properties> }, "sink": { "type": "<sink type>" <properties> }, "translator": { "type": "TabularTranslator", "columnMappings": "<column mapping>" }, "cloudDataMovementUnits": <number>, "parallelCopies": <number>, "enableStaging": true/false, "stagingSettings": { <properties> }, "enableSkipIncompatibleRow": true/false, redirectIncompatibleRowSettings": { <properties> } } } ]
  • 12. Inciso sobre Azure DataBricks II RDDs Big-data scale In Memory “SQL lambda like” Spark
  • 14. Aprendiendo desde desarrollo • Desarrollo orientado a test • Integración con código fuente • Integración continua • Devops
  • 15. Aprendiendo desde Dev Test en desarrollo • Test que se ejecutan una sola vez • Test que ejecutamos periódicamente • Ncientas queries que guardamos por si acaso Test para producción • Repetibles • Metódicas • Que aporten valor de negocio • Que sean completas
  • 16. Aprendiendo desde Dev Test en desarrollo • Test que se ejecutan una sola vez • Test que ejecutamos periódicamente • Ncientas queries que guardamos por si acaso Test • Repetibles • Metódicas • Que aporten valor de negocio • Que sean completas
  • 17. Otra forma de hacer TEST
  • 18. Integración con código fuente • Sigue las prácticas de desarrollo • Considera tus ETLS como código fuente • Versiona-Etiqueta-Crea ramas • Define tus prácticas y cúmplelas