Next Tech

¿Qué es Dataform?

4 Mins de lectura

Actualmente, aprovechar los datos es un requisito clave para el éxito de las organizaciones. Sin embargo, para satisfacer las necesidades de datos a gran escala, los equipos tienen que enfrentarse a grandes retos de escalabilidad, agilidad y colaboración. Hoy hablamos de Dataform, una herramienta de modelamiento de datos que puede resultar interesante para empresas con grandes cantidades de datos estructurados que se plantean flujos de transformación a partir de SQL.

¿Qué es Dataform?

Dataform es una plataforma de datos donde todo un equipo puede trabajar en conjunto para construir una única fuente de datos para su compañía. Se trata de una herramienta ELT, lo que supone un cambio sobre el concepto habitual ETL.

En este caso, es necesario realizar una carga de datos en BigQuery para poder llevar a cabo las transformaciones sobre unas tablas preliminar y generar las tablas finales, por lo que también suele definirse como ELTL, ya que se realiza un proceso final de carga de datos nuevamente.

Esta tecnología tiene basada su infraestructura en el motor de BigQuery, lo que quiere decir que todo lo que soporte BigQuery, Dataform puede soportarlo.

Ventajas y desventajas de Dataform

Dataform tiene una infinidad de beneficios como es la capacidad de procesar grandes cantidades de datos con un coste relativamente gratuito, ya que Dataform también basa su coste en BigQuery y BiQquery tiene una capa gratuita de 1 Tera procesado al mes.

Por otro lado, también tiene una parte negativa y es que no se pueden leer o transformar datos que no estén integrados en BigQuery, por ejemplo, cloud storage. Para poder leer datos de cloud storage se debe crear una tabla nativa o externa en BigQuery que apunte a un bucket de storage.

Dataform tiene un lenguaje propio llamado SQLX. Este lenguaje es idéntico al SQL que permite crear queries customizadas. Gracias a estas queries customizadas es posible añadir dependencias entre tablas y poder realizar una labor de orquestación dentro de la propia herramienta.

Como se puede apreciar en la siguiente imagen, que la tabla test 1 se ejecute depende de que la tabla test 2 haya finalizado con éxito. En caso de que la tabla test 2 no finalice con éxito, toda la ejecución de detendrá automáticamente. Gracias a esto se puede detectar un fallo a la mayor brevedad posible y evitar un gasto de dinero absurdo, ya que se debe recordar que esta herramienta está basada en BigQuery y su coste es por Tera escaneado.

Por último, como se puede apreciar en esta imagen, la tabla test 1 depende de la buena ejecución de la tabla test 2. Por último, para que se carguen los datos en la tabla final de producción debe pasar la assertion, lo que quiere decir que se debe cumplir una validación de datos o incluso tipo de datos. Si esta validación no se cumple, la tabla final no será generada, por lo que no habrá un impacto en producción.

¿Qué equipo puede usar Dataform?

Esta herramienta es capaz de integrar a los tres tipos de posiciones que hay en el mundo del dato en una misma plataforma.

El lenguaje SQLX es capaz de ofrecer una ayuda a los analistas de datos para crear, testear y desplegar sus modelos de datos y reglas de negocio al modelo final, puesto que se caracteriza por ofrecer diferentes entornos de desarrollo. También ofrece un tipo de fichero encargado de validar todas estas tablas finales.

Viendo que el SQL no es suficiente para poder realizar una limpieza total del dato, Dataform incluye el lenguaje Javascript para poder ayudar a los ingenieros de datos en toda la fase de limpieza y transformación del dato.

Por último, gracias a que estaba basado en BigQuery se puedes aprovechar todas las funcionalidades de BigQuery como es su potente BigQueryML. Por lo tanto, es una herramienta muy importante para los científicos de datos.

¿Cómo se integra con git?

Como se acaba de comentar, Dataform ofrece una infinidad de beneficios para todos los equipos de desarrollo. Por otro lado, es posible realizar buenas prácticas de integración continua gracias a su conexión con git y diferentes entornos de desarrollo.

Dataform proporciona diferentes ramas y entornos, de forma que existen múltiples maneras de desplegar y realizar ejecuciones aisladas sin afectar a tablas o datasets de diferentes equipos o entornos.

¿Es posible realizar ejecuciones programadas?

Dataform tiene un apartado donde es posible realizar ejecuciones horarias, diarias, semanales, mensuales y hasta anuales. Como se puede apreciar en la imagen anterior, tiene un parámetro llamado cron en el que, si está activo, es posible realizar esa configuración típica de crontab.

Próximos pasos con Dataform

Google Cloud ha comprado esta herramienta y la tiene integrada en su ecosistema dentro de BigQuery.

Dentro de este repositorio se pueden crear diferentes entornos de desarrollo similares a lo comentado anteriormente.

Como se puede apreciar en la siguiente imagen, la estructura de ficheros y carpetas es idéntica a la versión legacy de dataform, por lo que la migración a Google Cloud será lo más sencilla posible:

Google sigue haciendo mejoras e implementado nuevas aplicaciones a esta tecnología que sin duda dará mucho que hablar en los próximos meses y que se puede tener la certeza que será un gran competidor con DBT.

Hiberus cuenta con una unidad especializada en Data & Analytics formada por un equipo de profesionales con amplia experiencia en tecnología, análisis de datos e innovación. Desde esta unidad llevamos a cabo proyectos de transformación digital con la tecnología de datos más innovadora. ¡Ponte en contacto con nosotros y estaremos encantados de ayudarte!

3 posts

Sobre el autor
Data Engineer en Hiberus
Artículos

DESARROLLAMOS SOLUCIONES Y PROYECTOS BASADOS EN TECNOLOGÍA DE DATOS

Hiberus cuenta entre sus tecnologías diferenciales con una unidad especializada en servicios de Data & Analytics. Trabajamos desde el análisis descriptivo hasta el análisis prescriptivo pasando por el predictivo en función de la madurez analítica de cada compañía.

¿Te ayudamos?

Artículos relacionados
Next Tech

Cómo aumentar la productividad con Low Code

4 Mins de lectura
Las herramientas de desarrollo Low Code están cambiando la forma en que las empresas desarrollan y automatizan sus procesos de negocio. Con…
Next Tech

Secure Data Sharing, la compartición segura de datos en Snowflake

4 Mins de lectura
Tradicionalmente, cuando un usuario de bases de datos quería compartir información con otro usuario, tenía que hacer una copia de los datos,…
Next Tech

Cómo automatizar pruebas funcionales con Selenium

3 Mins de lectura
En los proyectos de desarrollo de software, se considera que está implícito contar con la implementación de pruebas, automáticas o manuales, que…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *