Te damos la bienvenida a la edición de junio de 2025 de Last Month in Snowflake, donde repasamos los anuncios más relevantes del mes. Junio vino cargado de novedades por el Snowflake Summit. En este post no vamos a repetir los más de 30 anuncios que ya recopilamos en nuestro recap del Summit 2025. En su lugar, destacaremos los anuncios de junio con mayor impacto para el usuario promedio de Snowflake (con algo de solape con lo del Summit). ¡Arrancamos!
Novedades en Snowsight
¡Estas son las actualizaciones de Snowsight que más nos entusiasman!
Workspaces — Public Preview
Uno de los anuncios más emocionantes del Summit fue Workspaces, un IDE moderno basado en archivos dentro de Snowsight que se integra con Git (GitHub, GitLab, etc.). Suma funcionalidades propias de un IDE, como carpetas, integración con Git, sugerencias de código con IA y soporte nativo para dbt, directamente en la interfaz de Snowflake. Con Workspaces puedes organizar tu código en proyectos, colaborar con mayor facilidad, hacer push y pull contra GitHub (u otros proveedores de Git) y agilizar tu flujo de desarrollo sin salir de la plataforma de Snowflake.
Workspaces se vuelve especialmente potente cuando conectas un repo de Git. Para agregarlo, lo único que necesitas es una API Integration (y un Secret si el repo no es público); el resto se hace desde la GUI.
Workspaces ofrece una integración con Git muy intuitiva, que te permite seleccionar una rama, hacer push, pull y comparar diffs desde la UI:
Impresiones generales sobre Workspaces
En lo personal, dejé atrás los Worksheets y hoy solo uso Workspaces, simplemente porque puedo organizar archivos en carpetas y moverme por el árbol de archivos con mucha más facilidad que en la interfaz de Worksheets. Incluso cuando no estoy conectado a un repo de Git, sigo prefiriendo Workspaces por el mejor layout, el acceso al historial de queries y el copilot inline.
Hay demasiadas funcionalidades en Workspaces como para cubrirlas aquí; más adelante publicaremos un post dedicado a tips y trucos de Workspaces (incluidos los proyectos de dbt).
Proyectos de dbt en Snowflake — Public Preview
En Workspaces puedes ejecutar proyectos de dbt directamente desde la UI de Snowsight. Lo más sencillo es comenzar conectando un repo existente, como mostramos antes. Una vez que tengas un Workspace con un repo de dbt conectado, Snowflake te pedirá crear un profiles.yml. Listo eso, ¡ya puedes ejecutar comandos de dbt desde la GUI!
En el panel inferior puedes alternar entre Query History, DAG View y Output.
La vista del historial de queries enlaza directamente al query profile. Nota: esta funcionalidad no es exclusiva de los proyectos de dbt; todos los Workspaces muestran el historial de queries. Pero me resulta particularmente útil tener el historial de queries de dbt dentro del IDE.
Desde cualquier modelo puedes hacer clic en el botón "Compile SQL" para ver el SQL compilado junto al SQL con templates. El botón "Show in DAG" resalta ese modelo en el panel DAG de abajo.
Cuando estés listo para hacer deploy, haz clic en "Connect" en la esquina superior derecha y luego en "Deploy dbt".
Tras el deploy, puedes ver el proyecto de dbt en Data → Database / Schema → dbt projects, y el historial de ejecuciones de todos los proyectos de dbt en Monitoring → dbt.
Observaciones y comentarios:
- A favor: me encanta poder crear, programar y monitorear proyectos de dbt desde Snowsight.
- En contra: comandos como
dbt depsydbt buildparecen tener un cold start muy largo. - En contra: los logs no se imprimen hasta que termina la ejecución. Eso dificulta saber en qué se está yendo el tiempo.
- En contra: que cada comando de build deba ejecutarse desde la GUI resulta un poco engorroso. Extraño poder correr slices del DAG desde la línea de comandos. (La interfaz para pasar argumentos al comando build es muy engorrosa; hace falta mejorarla.)
Quedan muchas cosas sin cubrir sobre la ejecución de proyectos de dbt. ¡Atento al post dedicado al tema!
Task Overview y Graph a nivel de cuenta — GA
Desde hace tiempo se podía ver un Task Graph a nivel de base de datos. Ahora los usuarios pueden ver un resumen de todas las tasks de una cuenta, según los privilegios de Task Monitoring.
En la barra lateral izquierda, haz clic en Monitoring y luego en Task History. Ahí puedes ver una lista filtrable de cada task de la cuenta, junto con el estado visual de las ejecuciones previas.
En la pestaña Task Runs encontrarás una lista de cada ejecución de tasks en la cuenta.
Ahí puedes ver el DAG de una ejecución completada junto con el "Total Duration Breakdown".
En general, ¡esta UI se siente muy bien lograda! Me gusta especialmente el tooltip de Previous Runs. Me parece una funcionalidad de observabilidad muy útil.
Gestión de Integrations en Snowsight — GA
En Snowflake, una Integration se usa para conectarse a recursos externos como cuentas de Storage, repos de Git, crear Network Rules, dar acceso a APIs, etc. Hasta ahora las Integrations solo podían gestionarse y observarse vía SQL. Snowflake agregó la posibilidad de crear, gestionar y observar Integrations desde la UI de Snowsight. Es un gran salto en materia de observabilidad.
Ve a Data → Integrations para ver las Integrations a nivel de cuenta. Usa los 3 puntos para gestionar una integración existente.
La pantalla Create te permite crear nuevas integrations fácilmente:
La GUI de "create integration" termina llevándote a una página SQL parecida a un Worksheet, pero más efímera, salvo que hagas clic en "Open in Worksheets".
Ojalá Snowflake ofreciera un flujo 100% GUI para crear Integrations, aunque entiendo el reto, ya que las integrations admiten muchísimas propiedades.
Para más información, consulta la documentación.
Novedades en SQL
Durante el Summit, Snowflake anunció varias expansiones del dialecto SQL vinculadas a IA. No las repetiremos aquí. En su lugar, nos enfocaremos en una de las expansiones más útiles del dialecto: UNION BY NAME.
Operador Union [all] by Name — GA
En SQL, union y union all suelen exigir que cada parte del union tenga el mismo número de columnas y que estén alineadas en el orden correcto. La nueva sintaxis Union by Name alinea las columnas automáticamente según sus nombres. Si un nombre de columna no existe o hay una discrepancia en la cantidad de columnas, Snowflake lo resuelve devolviendo automáticamente valores null para la columna faltante en esa parte del union. Aquí va un ejemplo.
with data1 as
(
select
'jeff' as first_name,
'engineering' as department,
),
data2 as
(
select
'skoldberg' as last_name,
'engineering' as department,
)
select * from data1
union all by name
select * from data2;
Como alguien que ha usado el macro dbt_utils.union_relations más veces de las que puedo contar, le doy la bienvenida a esta funcionalidad nativa de Snowflake, porque funciona con CTEs además de Views y Tables. ¡Una gran victoria!
Novedades en Data Engineering
En junio, Snowflake trajo un cambio significativo en la categoría de Data Engineering (más allá de los anuncios del Summit).
Artifact Repository — GA
El Artifact Repository hace referencia a la posibilidad de usar paquetes de Python del Python Package Index (PyPI) dentro de funciones definidas por el usuario (UDFs) y stored procedures de Snowpark Python. Lamentablemente, esta funcionalidad no está disponible para Notebooks ni Python Worksheets, aunque los paquetes más populares siempre estuvieron disponibles ahí.
Para usar esta funcionalidad, hay que otorgar un rol integrado llamado pypi_repository_user a un rol de usuario.
1GRANT DATABASE ROLE SNOWFLAKE.PYPI_REPOSITORY_USER TO ROLE data_engineering;
Luego puedes especificar cualquier paquete de PyPi en la firma del procedimiento indicando el argumento ARTIFACT_REPOSITORY. Por ejemplo:
CREATE OR REPLACE FUNCTION sklearn_udf()
RETURNS FLOAT
LANGUAGE PYTHON
RUNTIME_VERSION = 3.9
ARTIFACT_REPOSITORY = snowflake.snowpark.pypi_shared_repository
PACKAGES = ('scikit-learn')
HANDLER = 'udf'
AS
$$
Es una mejora enorme frente al proceso anterior, que implicaba copiar wheels de Python a Snowflake Stages. ¡Snowflake está facilitando mucho el uso de librerías populares!
Para más información, consulta Artifact Repository overview.
Otras novedades (fuera del Summit):
- Snowflake aumentó los límites de tamaño para objetos de base de datos.
- Ya puedes usar Nested Stored Procedures, es decir, llamar un sproc desde otro sproc.
- Snowflake Streams sobre tablas Iceberg, incluyendo deletes a nivel de fila. (Standard Streams).
- Malicious IP protection protege todas las cuentas de Snowflake bloqueando el tráfico desde todas las IPs maliciosas conocidas.
- Actualizaciones al Native App Framework.
- Los Notebooks ahora ofrecen más runtimes preconfigurados.
Cierre
Vale la pena mencionar de nuevo que varios anuncios de junio de 2025 no aparecen en este artículo porque ya los cubrimos en el Recap del Summit. Las próximas ediciones de "Last Month in Snowflake" serán prácticamente exhaustivas. ¡Seguiremos manteniéndote al tanto de los cambios más importantes de Snowflake!
Jeff es Consultor de Data y Analytics con más de 15 años de experiencia automatizando insights y usando datos para controlar procesos de negocio. En lo tecnológico, se especializa en Snowflake + dbt + Tableau. En lo sectorial, tiene experiencia en Public Utility, Clinical Trials, Publishing, CPG y Manufacturing. Escríbele cuando quieras: [email protected].