Crear mejores flujos de datos: Creación y orquestación con SQL y Python en Snowflake

Las transformaciones de datos son la sala de máquinas de las operaciones de datos modernas y fomentan la innovación en IA, analíticas y aplicaciones. Como componentes básicos de cualquier estrategia de datos eficaz, estas transformaciones son cruciales para crear flujos de datos sólidos y escalables. Hoy, nos complace anunciar los últimos avances de productos en Snowflake para crear y orquestar flujos de datos.
En la acelerada era actual de la IA, los flujos son la base del éxito de los datos descendentes. Esto coloca a los ingenieros de datos en una posición crítica. Sin embargo, muchos se ven constantemente haciendo malabarismos entre prioridades:
Configuración y gestión de la infraestructura y los recursos de cómputo
Depuración de pilas dispares
Seguimiento y reacción a los cambios en datos ascendentes
Garantía de la agilidad y la seguridad del desarrollo
Gestión de la complejidad asociada a los volúmenes de datos en aumento, especialmente los no estructurados
Históricamente, Snowflake siempre ha brillado a la hora de abordar estos puntos de fricción. Durante años, Snowflake se ha centrado en reducir estas complejidades diseñando una plataforma que optimiza los flujos de trabajo organizativos y permite a los equipos de datos concentrarse en lo que realmente importa: impulsar la innovación. Al profundizar en la capa de datos sin procesar para conducir los datos desde su origen hasta su destino como conjuntos de datos curados, estamos capacitando a los ingenieros de datos para que dejen de estar empantanados por la sobrecarga operativa y se conviertan en motores de la innovación.
Para ello, nos complace anunciar funciones nuevas y mejoradas que simplifican los flujos de trabajo complejos en todo el panorama de la ingeniería de datos, desde flujos de trabajo SQL que respaldan la colaboración hasta flujos más complejos en Python.

Flujos de datos accesibles en SQL
Para muchas organizaciones, los flujos SQL son los que ofrecen una entrada más accesible a la transformación de datos, lo que capacita a una gama más amplia de miembros del equipo, como los analistas de datos, y, por lo tanto, alivia la carga de los ingenieros de datos. La naturaleza modular de estos flujos, que usuarios con diferentes habilidades de SQL pueden crear, permite una ejecución escalable y fiable de cientos de flujos de trabajo. Este enfoque democratizado ayuda a garantizar una base sólida y adaptable.
Presentación de dbt Projects en Snowflake (próximamente en vista previa pública)
A los equipos de datos de todo el mundo les encanta dbt porque aporta eficiencia y prácticas recomendadas de ingeniería de software a los flujos de trabajo de transformación de datos de SQL y Snowpark dentro de sus almacenes de datos. Al integrar dbt directamente en la automatización y los servicios gestionados de Snowflake, los ingenieros de datos ahora pueden centrarse en crear, implementar y supervisar estos flujos en lugar de gestionar la infraestructura o combinar la observabilidad en varios sistemas.
Ahora, los usuarios de Snowflake pueden crear, cargar, editar y ejecutar sin problemas dbt Projects de forma nativa en Snowflake (en vista previa pública) dentro de una nueva interfaz de Workspaces. Esta integración nativa optimiza el desarrollo y acelera la entrega de datos transformados.
Actualizaciones de Dynamic Tables
Dynamic Tables proporciona un marco de procesamiento declarativo para los flujos de transmisión y por lotes. Este enfoque simplifica la configuración de los flujos, ya que ofrece una orquestación automática y un procesamiento de datos continuo e incremental. Los usuarios obtienen una visibilidad completa a través de la visualización de grafo acíclico dirigido (directed acyclic graph, DAG), reciben alertas en tiempo real y se benefician de las funciones integradas de calidad de los datos, lo que se traduce en una gestión del flujo de datos más eficiente y fiable. Entre las actualizaciones se incluyen:
Compatibilidad con Apache Iceberg (ahora con disponibilidad general): Dynamic Tables ahora incluye una funcionalidad ampliada que admite formatos de tabla abiertos, como Apache Iceberg. Los usuarios pueden crear flujos de procesamiento por lotes y de transmisión en tablas de Apache Iceberg™ (usando Snowflake o un catálogo externo) con definiciones declarativas, orquestación automática y procesamiento incremental. Los datos resultantes se pueden consultar con cualquier motor Iceberg.
Baja latencia (en vista previa privada): Crea flujos en tiempo real con una latencia integral (desde la ingesta hasta la transformación) de aproximadamente 15 segundos.
Mejoras del rendimiento (con disponibilidad general): Utiliza actualizaciones incrementales mejoradas de OUTER JOINs, QUALIFY RANK () = 1, funciones de ventana y tablas en clúster, junto con nuevas optimizaciones incrementales para CURRENT_TIMESTAMP e IS_ROLE_IN_SESSION.
Definir completitud (con disponibilidad general): Las nuevas extensiones de SQL, IMMUTABLE WHERE e INSERT ONLY, ofrecen un mayor control sobre la completitud de los datos, lo que permite a los usuarios evitar actualizaciones o eliminaciones, restringir las modificaciones de datos en función de las condiciones y rellenar los datos de los flujos existentes para las migraciones.
Desarrollo empresarial en Python
Snowpark permite desarrollar Python a nivel empresarial para crear y escalar flujos de datos directamente en Snowflake. Con la conocida sintaxis de Python y pandas DataFrames, las transformaciones complejas se ejecutan sin problemas con nuestro motor elástico, lo que elimina el movimiento de datos para un procesamiento de datos eficiente a gran escala. Snowpark gestiona los crecientes volúmenes de datos y demandas de procesamiento sin sobrecarga de infraestructura, ofreciendo una solución potente y escalable en Python.
Actualizaciones de pandas on Snowflake
pandas on Snowflake integra la flexibilidad de pandas con la escalabilidad de Snowflake, lo que simplifica el desarrollo de sólidos flujos de datos en Python. Ahora, los usuarios pueden:
Realizar integraciones con diversas fuentes de datos, como el acceso a tablas de Snowflake, vistas, tablas de Iceberg, Dynamic Tables y formatos de archivo comunes (CSV, Parquet, Excel, XML) y el almacenamiento en ellos.
Desarrollar flujos de pandas que abarquen desde prototipos iniciales hasta implementaciones de producción completas sin cambios en el código.
Utilizar la sintaxis conocida de pandas para aprovechar las capacidades analíticas de Snowflake con el fin de transformar datos de forma flexible, incluidas las funciones de large language model (LLM) de Snowflake Cortex AI para desarrollar flujos de trabajo basados en IA.
Con pandas on Snowflake, los desarrolladores pueden crear flujos de datos integrales en Python al leer desde una tabla de Iceberg, transformar los datos con pandas y guardar el flujo resultante como una tabla de Iceberg dinámica.
Para admitir flujos de pandas en todas las escalas de datos, vamos a introducir pandas on Snowflake con Hybrid Execution (en vista previa privada). Esta nueva e innovadora capacidad determina de forma inteligente el backend óptimo para ejecutar tus consultas de pandas, ya sea utilizando Snowflake para grandes conjuntos de datos o en memoria con pandas estándar, para respaldar pruebas y desarrollo interactivos rápidos.

Actualizaciones de Snowpark
Snowpark acelera el desarrollo de datos al habilitar la transformación de datos con Python y otros lenguajes dentro de Snowflake. Esta extensibilidad está estrechamente integrada con la seguridad y escalabilidad de la plataforma de Snowflake, lo que permite a los desarrolladores utilizar herramientas conocidas sin necesidad de mover datos ni gestionar la infraestructura de forma independiente.
Gracias a la ejecución de Snowpark, los clientes han observado un rendimiento medio 5,6 veces más rápido y un ahorro de costes del 41 % en comparación con las soluciones tradicionales de Spark. [1]
Snowpark ahora ofrece capacidades mejoradas para llevar código a los datos de forma segura y eficiente en todos los lenguajes, con una mayor compatibilidad en relación con la integración de datos, la gestión de paquetes y la conectividad segura. Entre las actualizaciones se incluyen:
Integración de datos: Gracias a la compatibilidad con Python DB-API (en vista previa privada), los desarrolladores ahora pueden utilizar Snowpark para extraer datos de bases de datos relacionales externas directamente en Snowflake. Python XML RowTag Reader (en vista previa privada) permite cargar archivos XML grandes y anidados mediante una simple opción RowTag. Los usuarios solo pueden ingerir las partes relevantes de un documento XML y recibir resultados tabulares estructurados para su procesamiento posterior.
Gestión de paquetes: Gracias a Artifact Repository (con disponibilidad general), nuestra compatibilidad flexible simplifica la gestión de paquetes para descargar e instalar fácilmente paquetes de PyPI dentro de las funciones definidas por el usuario (user-defined functions, UDF) y Stored Procedures de Snowpark. Para aquellos que tienen paquetes personalizados, ahora pueden cargarse paquetes con código nativo e importarlos como parte de sus UDF o Stored Procedures.
Escritura de archivos desde Python UD(T)F (ahora con disponibilidad general): La introducción de esta función amplía las capacidades generales de Snowpark para casos de uso de ingeniería de datos, especialmente cuando se requieren escrituras paralelas de archivos personalizados con UDF. Estos ejemplos incluyen la escritura de archivos personalizados (por ejemplo, archivos de modelo; archivos no estructurados como PDF e imágenes; o archivos semiestructurados como JSON) de la función a las fases y la transformación de archivos como parte de los flujos de datos en la fase. Ahora puede transformar avro orientado a filas en archivos JSON y dividir archivos grandes en archivos más pequeños para utilizarlos como parte de aplicaciones downstream.
Hemos facilitado el acceso a fuentes de datos externas y puntos de conexión desde Snowpark con capacidades como la compatibilidad con comodines en reglas de red, la compatibilidad con Allow All para acceder a cualquier punto de conexión en reglas de red y la integración con AWS IAM para simplificar la conectividad con los recursos de AWS. Además, External Access Outbound Private Connectivity ahora está disponible en otras regiones, como AWS Gov (con disponibilidad general), Azure Gov (con disponibilidad general) y Google Cloud Platform (en vista previa privada).
Automatización de flujos
La orquestación automatizada está integrada en los flujos de trabajo de transformación con funciones como Dynamic Tables, con compatibilidad nativa adicional mediante Snowflake Tasks para proporcionar un marco fiable y escalable para una ejecución coherente sin sobrecarga operativa.
Actualizaciones de Tasks y de tareas sin servidor
Snowflake Tasks y las tareas sin servidor son excelentes para la orquestación porque permiten definir flujos de trabajo complejos como una serie de sentencias SQL dependientes o código Python ejecutado directamente en Snowflake, lo que elimina la necesidad de herramientas de orquestación externas. Esta estrecha integración simplifica la gestión y aprovecha los sólidos recursos de cómputo de Snowflake para una automatización fiable y rentable. Durante el último año, hemos estado realizando mejoras continuas en estas capacidades nativas de orquestación, que incluyen:
Mejoras en los gráficos de tareas: Define flujos de trabajo enriquecidos para modelar flujos de datos con nuevas vistas y notificaciones. Ahora puedes enviar notificaciones a los servicios de mensajería en la nube una vez que se haya completado correctamente un gráfico de tareas (que puede activar una acción posterior) y ver la representación gráfica de las dependencias de ejecución de tareas con información de metadatos para las tareas.
Tareas activadas: Ejecuta tareas inmediatamente cuando lleguen nuevos datos a las tablas de origen con un procesamiento basado en eventos para SQL y Snowpark. Ahora también puedes crear una tarea sin necesidad de especificar una programación o un almacén de datos virtual. Además, puedes ejecutar tareas automáticamente cuando los datos lleguen de un punto de data sharing o de tablas de directorio (además de la compatibilidad anterior con tablas, vistas, Dynamic Tables e Iceberg).
Programador de tareas de baja latencia: Orquesta flujos de datos de forma fiable con programaciones de 10 segundos para procesar datos con frecuencia.
Controles de optimización y gobernanza: Controla las optimizaciones de costes y rendimiento en tareas sin servidor.
Editar tareas en Snowsight: Edita las tareas existentes en el menú de acciones para alterar la programación, el cómputo, los parámetros o los comentarios.
Automatización de Python/JVM: Automatiza las UDF (Python/JVM) y Stored Procedures con tareas sin servidor.
Una experiencia de flujo más completa con Snowflake
Snowflake sigue evolucionando como el motor central de las operaciones de datos modernas, ya que proporciona un completo conjunto de herramientas para crear y orquestar flujos de datos con facilidad y eficiencia. Desde la accesibilidad de SQL y la potencia de dbt hasta la flexibilidad de Python, pasando por Snowpark y pandas, estos últimos avances permiten a los ingenieros de datos superar las complejidades operativas y centrarse en impulsar la innovación. Al acercar el código a los datos, optimizar los flujos de trabajo y mejorar el rendimiento de diversos casos de uso y conjuntos de habilidades, Snowflake se compromete a permitir a los equipos de datos aprovechar todo el potencial de sus datos en el acelerado panorama actual basado en IA.
Si quieres obtener más información sobre estas funciones y muchas más, únete a nosotros en el Data Engineering Connect el 29 de julio de 2025.
Declaraciones prospectivas:
Este artículo contiene declaraciones prospectivas, incluidas las declaraciones relativas a nuestras futuras ofertas de productos, que no implican que nos comprometamos a proporcionar ninguna oferta de producto. Los resultados y las ofertas reales pueden diferir y están sujetos a riesgos e incertidumbres conocidos y desconocidos. Consulta nuestro formulario 10-Q más reciente para obtener más información.
1Basado en casos de uso de producción de clientes y en ejercicios de pruebas de concepto (proof-of-concept, POC) que comparaban la velocidad y el coste de Snowpark con los servicios gestionados de Spark entre noviembre de 2022 y mayo de 2025. Las conclusiones sintetizan los resultados de los clientes con datos reales y no representan los conjuntos de datos utilizados para las comparativas.