DavidGadyan

Mapa mental de Snowflake: conceptos clave, casos de uso y capacidades de IA

Arquitectura, objetos básicos, funciones de la plataforma, ingeniería de datos, IA con Cortex, aprendizaje automático y aplicaciones: todo el curso en un solo mapa conectado.

  1. Arquitectura

    Cuatro capas

    Qué es
    Snowflake funciona en cuatro capas: almacenamiento optimizado, cómputo elástico multiclúster, servicios en la nube y Snowgrid. El curso describe la separación entre almacenamiento y cómputo como "algo que Snowflake fue el primero en hacer" y "algo muy importante".
    Cuándo usarlo
    El modelo mental detrás de cada objeto: dónde están los datos, qué ejecuta las consultas, qué guarda los metadatos y qué conecta regiones y nubes.
    1. Almacenamiento optimizado

      Un lugar para todos los datos

      Qué es
      Datos estructurados, semiestructurados y no estructurados (PDF, imágenes) en un mismo lugar, sobre almacenamiento de objetos en la nube. Snowflake se encarga del microparticionado, la compresión y el cifrado, y trabaja con datos locales y formatos de tabla abiertos como Apache Iceberg.
      Cuándo usarlo
      Una sola capa de almacenamiento para el lago y el almacén de datos, sin archivos que gestionar a mano.
    2. Cómputo elástico

      Multiclúster, casi infinito

      Qué es
      Cómputo "escalable casi sin límite". El cómputo también está separado del cómputo: varios clústeres trabajan sobre los mismos datos sin competir. Admite SQL, Python y Java.
      Cuándo usarlo
      Equipos y cargas de trabajo escalan por separado: el clúster de dashboards nunca espera al clúster de ETL.
    3. Servicios en la nube

      El cerebro de la plataforma

      Qué es
      Actualizaciones automáticas sin tiempo de inactividad; gestiona archivos y metadatos; hace posibles las transacciones ACID, la caché de resultados, Time Travel, el clonado sin copia y la alta concurrencia.
      Cuándo usarlo
      Las tareas de DBA que dejas de hacer: parches, vacuum, ajuste de índices.
    4. Snowgrid

      Entre regiones y nubes

      Qué es
      Conecta regiones y nubes (AWS, Azure, GCP) para que datos, servicios y aplicaciones lleguen a equipos, socios y clientes sin ETL ni ELT adicionales. Admite replicación, continuidad de negocio, conmutación por error y migración entre nubes.
      Cuándo usarlo
      Una filial europea lee el conjunto de datos de EE. UU. en su propia región sin un pipeline de copia.
    5. Almacenamiento ≠ cómputo

      Escala y paga por separado

      Qué es
      El almacenamiento es donde viven los datos; el cómputo es donde se ejecutan las consultas, moviendo datos del almacenamiento a los nodos de cómputo. Cada uno se dimensiona y se factura por separado.
      Cuándo usarlo
      Un equipo pequeño con una tabla enorme paga la tabla una vez y el cómputo solo mientras consulta.
  2. Objetos básicos

    Lo que creas y consultas

    Qué es
    Los objetos que construye la primera parte del curso: almacenes virtuales, bases de datos y esquemas, tablas, vistas, tablas dinámicas, stages y los tipos semiestructurados, todo desde Snowsight.
    Cuándo usarlo
    CREATE, DROP, UNDROP, SHOW, USE y ALTER funcionan igual en todos los tipos de objeto, así que una sola sintaxis cubre toda la jerarquía.
    1. Snowsight y hojas de trabajo

      La interfaz web

      Qué es
      Snowsight es "la forma principal de interactuar con Snowflake desde el navegador". Las hojas de trabajo SQL y Python escriben y ejecutan sentencias, filtran resultados y los grafican; los Native Notebooks son la otra opción.
      Cuándo usarlo
      La mayor parte del curso ocurre aquí: subir una hoja desde un archivo .sql, fijar rol y almacén, ejecutar bloque a bloque.
      En código
      -- line comment   /* block comment */
      Cmd/Ctrl + Enter   runs the statement under the cursor
      Cmd + Shift + ?    lists the hot keys
      Cifras del curso
      • Los datos de ejemplo: Tasty Bytes, una empresa ficticia con 450 food trucks y 15 marcas.Lección: Worksheets
    2. Almacén virtual

      Cómputo, no almacenamiento

      Qué es
      "Un clúster de recursos de cómputo": CPU, memoria y almacenamiento temporal tomados de AWS, GCP o Azure. Ejecuta la mayoría de las consultas SQL y todo el DML. Pese al nombre es para cómputo, no para almacenamiento, y factura mientras está arrancado.
      Cuándo usarlo
      Elige un tamaño por trabajo: una tabla de menú de 100 filas necesita un XS; la tabla de pedidos de 600 millones de filas recibe uno mayor, y luego vuelves a bajar.
      En código
      CREATE WAREHOUSE warehouse_dash;        -- defaults to XS
      USE WAREHOUSE warehouse_gilberto;
      SHOW WAREHOUSES;
      ALTER WAREHOUSE w SET WAREHOUSE_SIZE = 'LARGE';
      DROP WAREHOUSE warehouse_dash;
      Cifras del curso
      • 10 tamaños estándar de XS a 6XL; el cómputo y los créditos por hora se duplican en cada paso.Lección: Virtual Warehouses
      • XS = 1 crédito por hora (2⁰); 6XL = 512 créditos por hora (2⁹).Lección: Virtual Warehouses
      • La tabla de pedidos de los datos de ejemplo tiene más de 600 millones de filas.Lección: Virtual Warehouses
      1. Escalar hacia arriba y hacia fuera

        Tamaño frente a clústeres

        Qué es
        Hacia arriba significa un tamaño mayor para una consulta más pesada. Hacia fuera significa un almacén multiclúster que añade clústeres cuando muchos usuarios consultan a la vez, para que nadie espere en cola.
        Cuándo usarlo
        Un almacén enorme durante poco tiempo puede costar los mismos créditos que uno pequeño durante mucho tiempo, y terminar antes.
        En código
        ALTER WAREHOUSE w SET MIN_CLUSTER_COUNT = 1 MAX_CLUSTER_COUNT = 3;
        Cifras del curso
        • El almacén multiclúster de la demo funciona entre 1 y 3 clústeres.Lección: Virtual Warehouses Scaling
      2. Suspensión y reanudación automáticas

        Activadas por defecto

        Qué es
        Ambas están activadas por defecto. Un almacén en marcha conserva su caché, así que suspenderlo demasiado pronto puede obligar a repetir trabajo; suspenderlo tarde quema créditos.
        Cuándo usarlo
        Pon un tiempo de suspensión corto en un almacén de consultas puntuales y deja la reanudación activada para que la siguiente consulta funcione sin más.
        En código
        ALTER WAREHOUSE w SET AUTO_SUSPEND = 180 AUTO_RESUME = FALSE;
        ALTER WAREHOUSE w SUSPEND;
        Cifras del curso
        • La demo fija la suspensión automática en 180 segundos.Lección: Virtual Warehouses Scaling
      3. Optimizado para Snowpark

        Memoria extra

        Qué es
        Un tipo de almacén con memoria extra, ofrecido junto a Standard al crear un almacén.
        Cuándo usarlo
        Trabajo de Python y aprendizaje automático con mucha memoria en Snowpark.
        Ángulo de IA
        El curso lo señala como el almacén para cargas de entrenamiento de ML.
    3. Bases de datos y esquemas

      db.esquema.objeto

      Qué es
      Base de datos › esquema › tablas, vistas y otros objetos, "como un directorio de archivos". Cada base de datos trae PUBLIC (el esquema por defecto) e INFORMATION_SCHEMA (vistas de metadatos). La base de datos SNOWFLAKE guarda ACCOUNT_USAGE para observabilidad.
      Cuándo usarlo
      Organiza esquemas raw → harmonized → analytics y referencia los objetos por su nombre completo desde cualquier hoja.
      En código
      CREATE DATABASE tasty_bytes_sample_data;
      CREATE SCHEMA tasty_bytes_sample_data.raw_pos;
      SELECT * FROM tasty_bytes_sample_data.INFORMATION_SCHEMA.TABLES;
      UNDROP DATABASE tasty_bytes_sample_data;
    4. Explorador de bases de datos

      Catálogo con linaje

      Qué es
      En Catalog: una vista jerárquica de todo lo que tu rol puede ver, ordenada por tipo de objeto. Pestañas de columnas, una vista previa de 100 filas (usa un almacén), definiciones de vistas y Lineage, un grafo de objetos anteriores y posteriores donde cada flecha muestra el SQL que hay detrás.
      Cuándo usarlo
      Rastrea una tabla gold hasta sus fuentes antes de cambiarla; el curso llama al linaje "algo realmente importante para la ingeniería de datos".
    5. Tablas y tipos de datos

      Microparticiones por debajo

      Qué es
      Columnas y filas, guardadas como microparticiones. Seis categorías de tipos: numérico, cadena y binario, lógico, fecha y hora, semiestructurado, geoespacial. Sinónimos como NUMBER = DECIMAL = NUMERIC y VARCHAR = STRING = TEXT facilitan portar código de otros dialectos.
      Cuándo usarlo
      Declara VARCHAR sin longitud: solo se guarda el espacio usado, y un tamaño menor solo ayuda a algunas herramientas de BI.
      En código
      CREATE TABLE raw_pos.menu (menu_id NUMBER(19,0), menu_item_name VARCHAR(16777216), …);
      INSERT INTO t VALUES (…);
      SHOW TABLES IN tasty_bytes_sample_data.raw_pos;
      UNDROP TABLE raw_pos.menu;
      Cifras del curso
      • NUMBER tiene por defecto precisión 38 y escala 0; VARCHAR, 16.777.216 bytes (16 MB).Lección: Tables
      • ORDER_DETAIL tiene más de 670 millones de filas y 9 columnas.Lección: Tables
    6. Tipos de tabla

      Permanente, transitoria, temporal

      Qué es
      Permanente: la predeterminada, retención de hasta 90 días en Enterprise más 7 días de fail-safe. Transitoria: retención de 0–1 día, sin fail-safe, vive hasta que se borra. Temporal: 0–1 día, sin fail-safe, desaparece con la sesión.
      Cuándo usarlo
      Tablas de trabajo y staging como transitorias o temporales para dejar de pagar almacenamiento de retención por datos que nadie restaurará.
      En código
      CREATE TRANSIENT TABLE raw_pos.truck_transient AS SELECT * FROM raw_pos.truck;
      CREATE TEMPORARY TABLE raw_pos.truck_temp AS SELECT * FROM raw_pos.truck;
      SHOW TABLES LIKE 'TRUCK%';
    7. Vistas

      Estándar, materializada, segura

      Qué es
      Una vista estándar es "básicamente una consulta guardada" que se vuelve a ejecutar cada vez. Una vista materializada guarda su resultado y se refresca sola, lo que cuesta dinero, y no admite joins. Una vista segura oculta su definición a quien no es propietario, pero se salta el optimizador. Las vistas no se pueden recuperar con UNDROP.
      Cuándo usarlo
      Vistas seguras para datos compartidos; para nuevas transformaciones programadas el curso apunta a tablas dinámicas en lugar de vistas materializadas.
      En código
      CREATE VIEW analytics.menu_v AS SELECT …;
      CREATE MATERIALIZED VIEW analytics.menu_mv AS SELECT … FROM raw_pos.menu;
      CREATE SECURE VIEW analytics.menu_sv AS SELECT …;
      SHOW MATERIALIZED VIEWS;
    8. Tablas dinámicas

      Una vista con horario

      Qué es
      Definidas por una consulta como una vista, guardadas como una vista materializada, refrescadas según el TARGET_LAG que elijas usando un almacén. Admiten joins y transformaciones complejas: "la flexibilidad de una vista y el rendimiento de una tabla".
      Cuándo usarlo
      Resultados casi en tiempo real con Snowpipe o Snowpipe Streaming "sin código de orquestación"; para transformaciones programadas con joins son "casi siempre la elección correcta".
      En código
      CREATE DYNAMIC TABLE analytics.orders_dt TARGET_LAG = '1 minute' WAREHOUSE = compute_wh AS SELECT …;
      SHOW DYNAMIC TABLES;   -- refresh status and lag
      ALTER DYNAMIC TABLE analytics.orders_dt REFRESH;
      Cifras del curso
      • Retardo de refresco de 1 minuto o más en la demo; Snowflake trabaja en reducirlo.Lección: Dynamic Tables
    9. Stages

      Puente de archivos a tablas

      Qué es
      Un objeto intermedio que "sirve de puente entre la fuente de datos y la tabla". Los stages externos apuntan a almacenamiento S3, GCS o Azure que tú gestionas; los internos los gestiona y factura Snowflake: de usuario (@~), de tabla (@%) y con nombre (@), este último el más flexible.
      Cuándo usarlo
      Cargar CSV desde un bucket: crea el stage, haz LIST, COPY INTO la tabla y luego lee COPY_HISTORY para ver qué entró.
      En código
      CREATE STAGE raw_pos.s3load URL = 's3://sfquickstarts/tasty-bytes/' FILE_FORMAT = csv_ff;
      LIST @raw_pos.s3load;
      COPY INTO raw_pos.menu FROM @raw_pos.s3load/raw_pos/menu/;
      PUT file://local.csv @my_internal_stage;
      SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.COPY_HISTORY;
      Cifras del curso
      • Un almacén 3XL es 64 veces más potente que un XS y usa 64 veces los créditos.Lección: Stages & Basic Ingestion
    10. Datos semiestructurados

      VARIANT, OBJECT, ARRAY

      Qué es
      Datos jerárquicos clave-valor entre lo tabular y lo no estructurado, frecuentes en sensores y web. Cinco formatos: JSON, Avro, ORC, Parquet, XML. Tres tipos: VARIANT (cualquier valor, recuerda su tipo), OBJECT (pares clave-valor), ARRAY (VARIANT ordenados).
      Cuándo usarlo
      Consulta los ingredientes y las etiquetas de salud anidados de una fila de menú con rutas de dos puntos y luego aplánalos con FLATTEN a una fila por ingrediente.
      En código
      SELECT menu_item_health_metrics_obj:menu_item_health_metrics[0]:ingredients FROM raw_pos.menu;
      SELECT TYPEOF(col), col::VARIANT FROM t;
      SELECT value:ingredients[0] FROM raw_pos.menu, LATERAL FLATTEN(input => menu_item_health_metrics_obj:menu_item_health_metrics);
      Cifras del curso
      • La demo marca 95 platos sin frutos secos, 81 sin lácteos y 23 saludables de 100.Lección: Semi-Structured Data
  3. Funciones de la plataforma

    Lo que la hace distinta

    Qué es
    Las funciones que demuestra la segunda parte del curso: Time Travel y fail-safe, clonado sin copia, monitores de recursos, UDF, procedimientos almacenados, RBAC, integración con Git y Data Clean Rooms.
    Cuándo usarlo
    Redes de seguridad y gobernanza que vienen con la plataforma en lugar de añadirse después.
    1. Time Travel

      Consulta el pasado

      Qué es
      Recupera o consulta el estado exacto que tuvo una tabla, un esquema o una base de datos, sobre la retención de datos; UNDROP es una de sus formas. Tres maneras de apuntar atrás: AT una marca de tiempo, AT un desplazamiento en segundos o BEFORE un ID de consulta.
      Cuándo usarlo
      Deshacer un DELETE equivocado o comparar una tabla antes y después de una carga. Una retención larga en una tabla con muchos cambios cuesta almacenamiento.
      En código
      ALTER TABLE raw_pos.truck SET DATA_RETENTION_TIME_IN_DAYS = 90;
      SET ts = CURRENT_TIMESTAMP;   SET qid = LAST_QUERY_ID();
      SELECT * FROM raw_pos.truck AT(TIMESTAMP => $ts);
      SELECT * FROM raw_pos.truck AT(OFFSET => -60);
      SELECT * FROM raw_pos.truck BEFORE(STATEMENT => $qid);
      Cifras del curso
      • La retención por defecto es 1 día; hasta 90 días en la edición Enterprise.Lección: Time Travel
    2. Fail-safe

      El último recurso

      Qué es
      Siete días extra después del periodo de retención en los que el personal de Snowflake, no tú, puede recuperar datos. Solo tablas permanentes.
      Cuándo usarlo
      Un seguro para un desastre, no una herramienta de trabajo: planifica la retención para no necesitarlo nunca.
      Cifras del curso
      • El fail-safe dura 7 días.Lección: Permanent, Transient, and Temporary Tables
    3. Clonado sin copia

      Copias instantáneas

      Qué es
      Un clon comparte las microparticiones de su origen, así que es casi instantáneo y el almacenamiento solo crece a medida que el clon cambia. Funciona con bases de datos, esquemas, tablas y tablas dinámicas; se pueden clonar clones, y un clon puede tomarse de un punto de Time Travel.
      Cuándo usarlo
      Prueba una migración contra una copia de producción de hace diez minutos y luego bórrala.
      En código
      CREATE TABLE raw_pos.truck_dev CLONE raw_pos.truck;
      CREATE SCHEMA raw_pos_dev CLONE raw_pos;
      CREATE TABLE raw_pos.truck_10m CLONE raw_pos.truck AT(OFFSET => -600);
      SELECT clone_group_id, active_bytes FROM INFORMATION_SCHEMA.TABLE_STORAGE_METRICS;
      Cifras del curso
      • Un clon recién creado muestra ACTIVE_BYTES = 0; clonar bases de datos tarda más por los metadatos.Lección: Cloning
    4. Monitores de recursos

      Cuotas de créditos

      Qué es
      Límites de créditos para toda la cuenta (solo un monitor a nivel de cuenta) o para un almacén, con una frecuencia (diaria, semanal, mensual, anual, nunca) y disparadores por porcentaje que avisan, avisan y suspenden (las consultas en curso terminan) o avisan y suspenden de inmediato.
      Cuándo usarlo
      Limita un almacén de prueba o de equipo para que una consulta olvidada no corra todo el fin de semana.
      En código
      CREATE RESOURCE MONITOR daily_30 WITH CREDIT_QUOTA = 30 FREQUENCY = DAILY START_TIMESTAMP = IMMEDIATELY TRIGGERS ON 80 PERCENT DO NOTIFY ON 100 PERCENT DO SUSPEND ON 110 PERCENT DO SUSPEND_IMMEDIATE;
      ALTER WAREHOUSE w SET RESOURCE_MONITOR = daily_30;
      SHOW RESOURCE MONITORS;
      Cifras del curso
      • Cuota de la demo: 30 créditos al día, por debajo de lo que gasta un XS en 24 horas; disparadores al 80, 100 y 110 %.Lección: Resource Monitors
    5. UDF y UDTF

      Tus propias funciones

      Qué es
      Una UDF devuelve un valor escalar y vive en un esquema (PUBLIC por defecto); los lenguajes son SQL, Python, JavaScript, Java y Scala. Una UDF en Python necesita LANGUAGE, RUNTIME_VERSION y HANDLER, puede importar numpy o pandas y puede vectorizarse para procesar lotes. Una UDTF devuelve una tabla y se llama con TABLE(); sin Scala.
      Cuándo usarlo
      Encapsula una conversión de divisa o una regla de winsorización una vez y llámala en cualquier SELECT.
      En código
      CREATE FUNCTION to_cad(usd NUMBER) RETURNS NUMBER AS $$ usd * 1.35 $$;
      CREATE FUNCTION winsorize(v FLOAT, hi FLOAT, lo FLOAT) RETURNS FLOAT LANGUAGE PYTHON RUNTIME_VERSION = '3.11' HANDLER = 'w' AS $$ … $$;
      CREATE FUNCTION expensive_items(p NUMBER) RETURNS TABLE(name VARCHAR, price NUMBER) AS $$ SELECT … $$;
      SELECT * FROM TABLE(expensive_items(15));
      SHOW FUNCTIONS;   -- is_table_function column
      Cifras del curso
      • winsorize(12, 11, 4) devuelve 11; la demo de UDTF lista los platos de más de 15 $.Lección: User-Defined Functions
    6. Procedimientos almacenados

      Pasos con efectos

      Qué es
      Una serie de pasos guardada y reutilizable que, a diferencia de una UDF, puede ejecutar DDL y DML y no tiene que devolver nada. Se escribe en Python, Java, JavaScript, Scala o SQL con Snowflake Scripting (DECLARE / BEGIN / EXCEPTION / END, := para asignar, :var para referenciar). Cada ejecución necesita su propio CALL. SYSTEM$SEND_EMAIL es uno integrado.
      Cuándo usarlo
      Tareas de mantenimiento: borrar filas de más de 180 días y programar el CALL con un task.
      En código
      CREATE OR REPLACE PROCEDURE delete_old() RETURNS BOOLEAN LANGUAGE SQL AS $$ BEGIN DELETE FROM raw_pos.order_header WHERE order_ts < DATEADD(day, -180, (SELECT MAX(order_ts) FROM raw_pos.order_header)); RETURN TRUE; END $$;
      CALL delete_old();
      DESCRIBE PROCEDURE delete_old();
      Cifras del curso
      • Los pedidos de ejemplo van del 1 de enero de 2019 al 1 de noviembre de 2022; SHOW PROCEDURES lista 4 procedimientos integrados.Lección: Stored Procedures
    7. Control de acceso por roles

      Privilegios → roles → usuarios

      Qué es
      Los privilegios sobre objetos protegibles se conceden a roles, los roles a usuarios y los roles a otros roles para heredar; los roles son "cubos de privilegios". Seis roles del sistema: ORGADMIN, ACCOUNTADMIN, SECURITYADMIN, USERADMIN, SYSADMIN y PUBLIC. La gobernanza también protege frente a "actores bienintencionados pero falibles".
      Cuándo usarlo
      Da a un rol de ingeniería de datos exactamente los almacenes y esquemas que necesita; el curso usa ACCOUNTADMIN por comodidad y dice que "no es una buena práctica".
      Ángulo de IA
      Los mismos roles gobiernan quién puede llamar a funciones de Cortex y abrir una app de Streamlit.
      En código
      CREATE ROLE tasty_de;
      GRANT CREATE WAREHOUSE ON ACCOUNT TO ROLE tasty_de;
      GRANT ROLE tasty_de TO USER peter;
      SHOW GRANTS TO ROLE tasty_de;
      USE ROLE tasty_de;
    8. Integración con Git

      GitHub, GitLab, Bitbucket

      Qué es
      Un repository stage es un clon sincronizado de un repositorio Git (ramas, commits, archivos), configurado con una API integration y, para repos privados, un secret. Los Notebooks hacen pull, editan, hacen push y cambian de rama dentro de Snowsight; EXECUTE IMMEDIATE FROM ejecuta archivos SQL o Python directamente desde el stage.
      Cuándo usarlo
      Versiona tus scripts de configuración en Git y despliégalos desde Snowflake; para Git bidireccional completo en otros objetos usa la CLI o un entorno local.
      En código
      CREATE GIT REPOSITORY tasty_repo API_INTEGRATION = github_int ORIGIN = 'https://github.com/…';
      EXECUTE IMMEDIATE FROM @tasty_repo/branches/main/setup.sql;
    9. Data Clean Rooms

      Analiza sin compartir filas

      Qué es
      Dos partes analizan sus datos combinados sin que ninguna vea las filas en bruto de la otra: el proveedor define plantillas de consulta, el consumidor solo ejecuta las aprobadas, los umbrales de agregación bloquean inferencias y el acceso se puede revocar. Una app web sin código para negocio más una API para desarrolladores; los consumidores que no son clientes de Snowflake reciben una cuenta gestionada.
      Cuándo usarlo
      Un minorista y un medio miden el solapamiento de audiencias y aprenden que "el 40 % de tus clientes coinciden", y nada sobre personas concretas.
  4. Herramientas de desarrollo

    Python, CLI, editores, drivers

    Qué es
    Las formas de trabajar con Snowflake más allá de la hoja SQL: Snowpark DataFrames, Notebooks, la extensión de VS Code, la Snowflake CLI, los drivers y conectores, y la API de Python.
    Cuándo usarlo
    Elige la superficie que encaja con la tarea: un notebook para explorar, la CLI para automatizar, un driver para construir una app.
    1. Snowpark DataFrames

      Python junto a los datos

      Qué es
      Snowpark es "el conjunto de capacidades no SQL de Snowflake". Un DataFrame de Snowpark ejecuta tu lógica Python dentro del cómputo de Snowflake "justo al lado de los datos" en vez de tenerlos en memoria local como pandas, y evalúa de forma perezosa: nada se ejecuta hasta una acción como show() o collect().
      Cuándo usarlo
      Agrega 600 millones de filas desde un portátil con 16 GB de RAM y luego pasa a pandas con to_pandas() solo el resultado pequeño para matplotlib o scikit-learn.
      En código
      from snowflake.snowpark.context import get_active_session
      session = get_active_session()
      df = session.table('raw_pos.order_header').filter(col('truck_id') == 15).select('order_id', 'order_total')
      df.group_by('truck_id').agg(sum_('order_total')).sort('truck_id').show()
      df.write.save_as_table('analytics.truck_totals', mode='overwrite')
      pip install snowflake-snowpark-python   # local; credentials from environment variables, never in source
    2. Snowflake Notebooks

      Celdas SQL, Python y Markdown

      Qué es
      El entorno recomendado para trabajar con Snowpark, que sustituye a las hojas de Python: ejecuta celdas una a una, mezcla SQL y Python, Snowpark preinstalado, conectado a Git desde la pestaña Files y gobernado por RBAC.
      Cuándo usarlo
      Explora, entrena y documenta en un solo sitio; `snow notebook run` ejecuta un notebook a demanda desde un pipeline.
      Ángulo de IA
      Donde el curso ejecuta sus demos de Cortex y Snowpark ML.
    3. Extensión de VS Code

      Mantenida por Snowflake

      Qué es
      Verificada y mantenida por Snowflake: autocompletado, enlaces a la documentación al pasar el cursor, historial de consultas, explorador de objetos, contexto de ejecución y cambio de rol. El identificador de cuenta usa "-" donde la URL tiene ".".
      Cuándo usarlo
      Escribe SQL y Python contra Snowflake en el editor que ya usas, con el mismo modelo de roles.
    4. Snowflake CLI

      `snow` en la terminal

      Qué es
      Se instala con pip y la herramienta se llama `snow`; las conexiones viven en ~/.snowflake/config.toml (dev, staging, prod) y se eligen con --connection. Grupos de comandos: object, sql, notebook, cortex y git. El paquete antiguo "Snowflake CLI labs" está obsoleto.
      Cuándo usarlo
      Scripts y CI: lista objetos, ejecuta archivos SQL, lanza notebooks, sincroniza un proyecto Git.
      Ángulo de IA
      `snow cortex` llama a las funciones de IA de Cortex desde la terminal y encadena la respuesta en texto plano.
      En código
      pip install snowflake-cli
      snow connection add   &&   snow connection test
      snow sql -q "SELECT COUNT(*) FROM raw_pos.menu"
      snow object list warehouse
      snow notebook run my_notebook
      snow git fetch tasty_repo
    5. Drivers y conectores

      Python, JDBC, Node.js, Go, PHP

      Qué es
      El Snowflake Connector para Python, los drivers JDBC, Node.js, Go y PHP PDO, un conector de Django construido sobre el de Python y SQLAlchemy. El patrón habitual: conectar y luego ejecutar SQL según lo que el usuario hace en la interfaz.
      Cuándo usarlo
      Integrar Snowflake en una pila de aplicaciones existente: el consejo del curso es aprender primero los drivers, conectores y la API de Python.
    6. Snowflake Python API

      Gestiona objetos desde Python

      Qué es
      Crea, modifica y borra tablas, tasks, almacenes, bases de datos y esquemas desde Python, y gestiona Snowpark Container Services y tasks.
      Cuándo usarlo
      La infraestructura de una app de datos escrita en el mismo lenguaje que la app.
  5. Ingeniería de datos

    Ingerir, transformar, orquestar, observar

    Qué es
    Los cuatro pilares del panorama de ingeniería de datos según el curso: ingesta, transformación, orquestación y observabilidad, más la compartición de datos sin copia. Snowflake es "un solo producto", así que cada pilar reutiliza los mismos objetos.
    Cuándo usarlo
    Un pipeline completo sin salir de la plataforma: Snowpipe carga, las tablas dinámicas transforman, los tasks programan, las event tables registran.
    1. Ingesta

      De lotes a streaming

      Qué es
      Un espectro de lotes a baja latencia: COPY INTO para lotes, Snowpipe para archivos continuos, Snowpipe Streaming y el conector de Kafka para filas en segundos, más conectores nativos y las interfaces Python, ODBC y SQLAlchemy.
      Cuándo usarlo
      Ajusta el cargador a la latencia que necesita el negocio en lugar de hacer streaming de todo.
      1. COPY INTO

        Cargas por lotes

        Qué es
        Carga archivos de un stage a una tabla usando un formato de archivo. COPY_HISTORY en ACCOUNT_USAGE muestra lo cargado, con una latencia de hasta 1–2 horas.
        Cuándo usarlo
        La carga nocturna de los CSV que deja un socio.
        En código
        COPY INTO raw_pos.menu FROM @raw_pos.s3load/raw_pos/menu/ FILE_FORMAT = (FORMAT_NAME = csv_ff);
        SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.COPY_HISTORY WHERE table_name = 'MENU';
      2. Snowpipe

        Llegan archivos, aparecen filas

        Qué es
        Carga continua en menos de un minuto: con AUTO_INGEST = TRUE un evento del almacenamiento en la nube dispara el COPY INTO del pipe sin orquestación manual. Necesita una storage integration, "una interfaz entre Snowflake y servicios de terceros": una política y un rol IAM en AWS, el ARN del rol en Snowflake y después la política de confianza editada con el ARN del usuario IAM de Snowflake y el external ID.
        Cuándo usarlo
        Zona de aterrizaje en S3 → tabla en Snowflake en menos de un minuto tras cada subida. El curso avisa de que lo más difícil son los permisos entre AWS y Snowflake.
        En código
        CREATE STORAGE INTEGRATION s3_int TYPE = EXTERNAL_STAGE STORAGE_PROVIDER = 'S3' ENABLED = TRUE STORAGE_AWS_ROLE_ARN = 'arn:aws:iam::…:role/snowflake' STORAGE_ALLOWED_LOCATIONS = ('s3://bucket/path/');
        DESCRIBE INTEGRATION s3_int;   -- IAM user ARN and external ID for the trust policy
        CREATE STAGE raw_pos.s3_stage STORAGE_INTEGRATION = s3_int URL = 's3://bucket/path/';
        CREATE PIPE raw_pos.menu_pipe AUTO_INGEST = TRUE AS COPY INTO raw_pos.menu FROM @raw_pos.s3_stage;
        ALTER PIPE raw_pos.menu_pipe SET PIPE_EXECUTION_PAUSED = TRUE;
        Cifras del curso
        • El rol de un pipe necesita USAGE sobre base de datos, esquema y stage, INSERT sobre la tabla y OWNERSHIP del pipe.Lección: Snowpipe
      3. Snowpipe Streaming y Kafka

        Filas en segundos

        Qué es
        Streaming a nivel de fila a través de una API y el SDK de Java, cargando en segundos frente al menos-de-un-minuto de Snowpipe; el conector de Kafka lo usa.
        Cuándo usarlo
        Eventos de clics o IoT que una tabla dinámica convierte en métricas casi en tiempo real.
      4. Conectores nativos

        ServiceNow, Google Analytics…

        Qué es
        Conectores construidos por Snowflake para fuentes como ServiceNow y Google Analytics, junto a las interfaces Python, ODBC y SQLAlchemy para todo lo demás.
        Cuándo usarlo
        Datos de SaaS sin escribir un extractor.
    2. Compartición de datos y Marketplace

      Sin copia, solo lectura

      Qué es
      Las comparticiones son sin copia y de solo lectura, ofrecidas a través del Snowflake Marketplace o directamente; el consumidor crea una base de datos a partir de la compartición y la consulta en vivo, sin ingesta.
      Cuándo usarlo
      Cruza un conjunto de datos meteorológicos con tus pedidos sin pipeline, o publica un conjunto de datos para socios.
      En código
      CREATE DATABASE weather FROM SHARE provider_account.weather_share;
    3. Transformación

      SQL, Snowpark, tablas dinámicas

      Qué es
      SQL, Snowpark DataFrames, UDF y UDTF, procedimientos almacenados y tablas dinámicas, que el curso describe como "una tabla con orquestación incorporada".
      Cuándo usarlo
      Capas raw → harmonized → analytics reconstruidas con el retardo que elijas, sin planificador que mantener.
    4. Orquestación

      Streams + tasks

      Qué es
      Un stream registra las inserciones, actualizaciones y borrados de una tabla; un task ejecuta SQL o un procedimiento con un horario, un intervalo o tras otro task, formando un DAG; los tasks serverless no necesitan almacén. Juntos dan "procesamiento incremental eficiente de datos".
      Cuándo usarlo
      Procesa solo las filas que cambiaron desde la última ejecución, cada diez minutos.
      En código
      CREATE STREAM raw_pos.menu_stream ON TABLE raw_pos.menu;
      CREATE TASK analytics.refresh_menu WAREHOUSE = compute_wh SCHEDULE = '10 MINUTE' AS INSERT INTO analytics.menu_changes SELECT * FROM raw_pos.menu_stream;
      ALTER TASK analytics.refresh_menu RESUME;
      1. Airflow, Prefect, dbt

        Orquestación de código abierto

        Qué es
        Los orquestadores de código abierto que el curso nombra como alternativa a streams y tasks: Apache Airflow, Prefect y dbt.
        Cuándo usarlo
        Equipos que ya usan Airflow o dbt conservan su planificador y lo apuntan a Snowflake.
    5. Observabilidad

      Alertas, logs, trazas, DAG

      Qué es
      Alertas y notificaciones (SYSTEM$SEND_EMAIL), registros y eventos de traza guardados en event tables, el grafo de tasks mostrado como DAG en Snowsight y vistas como COPY_HISTORY.
      Cuándo usarlo
      Un correo cuando falla una carga o se cruza un umbral de créditos, y una tabla de trazas para depurar un procedimiento.
      En código
      CREATE EVENT TABLE analytics.events;
      CREATE ALERT low_sales WAREHOUSE = compute_wh SCHEDULE = '60 MINUTE' IF (EXISTS (SELECT … )) THEN CALL SYSTEM$SEND_EMAIL(…);
  6. IA con Cortex

    LLM dentro de la plataforma

    Qué es
    Snowflake Cortex es "el servicio inteligente y totalmente gestionado" y "la cesta de funciones de IA listas para usar". La IA se ejecuta dentro de la misma plataforma que el almacenamiento, el cómputo y la gobernanza, así que los datos nunca salen y RBAC se aplica solo. Las funciones van de segundos (sin código) a minutos y a horas (a medida).
    Cuándo usarlo
    Sentimiento, traducción, extracción, búsqueda y respuestas en lenguaje natural sobre datos gobernados, desde una sentencia SQL.
    Ángulo de IA
    El curso llama a esta combinación la "AI Data Cloud".
    1. Gobernanza incorporada

      Los datos nunca salen

      Qué es
      Las mismas políticas de RBAC y gobernanza que protegen las tablas se aplican automáticamente a las funciones de IA; el modelo se ejecuta donde están los datos.
      Cuándo usarlo
      Ejecuta un LLM sobre texto de clientes sin exportarlo a una API de terceros.
      Ángulo de IA
      La gobernanza es el argumento para la IA dentro del almacén de datos.
    2. Funciones LLM de Cortex

      IA dentro de SELECT

      Qué es
      Funciones para tareas concretas que se llaman dentro de un SELECT sin modelo que gestionar: AI_SENTIMENT (positivo, negativo, neutro), AI_TRANSLATE, AI_EXTRACT (preguntas sobre texto), AI_CLASSIFY, AI_PARSE_DOCUMENT y AI_COMPLETE (cualquier prompt a cualquier modelo admitido). SUMMARIZE se declara obsoleta; usa COMPLETE con un prompt de resumen.
      Cuándo usarlo
      Puntúa el sentimiento de cada reseña, traduce una columna, clasifica tickets, todo como columnas de una consulta.
      Ángulo de IA
      Toda la familia funciona con LLM y recorre fila a fila tus tablas.
      En código
      SELECT AI_SENTIMENT(review_text) FROM reviews;
      SELECT AI_TRANSLATE(review_text, 'en', 'es') FROM reviews;
      SELECT AI_EXTRACT(review_text, 'Which dish is mentioned?') FROM reviews;
      SELECT AI_CLASSIFY(review_text, ['service', 'food', 'price']) FROM reviews;
      SELECT AI_PARSE_DOCUMENT(@docs, relative_path) FROM DIRECTORY(@docs);
    3. COMPLETE en la práctica

      Prompts sobre filas

      Qué es
      SNOWFLAKE.CORTEX.COMPLETE(modelo, prompt) aparece como una UDF bajo base_de_datos.esquema.función. La demo usa mistral-7b; un modelo mayor cuesta más por token y una opción de máximo de tokens limita la respuesta. Los prompts se construyen por fila con CONCAT, y una conversación es un array de objetos {role, content} con roles system, user y assistant.
      Cuándo usarlo
      Una frase de marketing corta por plato, generada para cinco filas a la vez mientras ajustas el prompt.
      Ángulo de IA
      Texto generativo desde SQL, con el modelo elegido en cada llamada.
      En código
      SELECT SNOWFLAKE.CORTEX.COMPLETE('mistral-7b', 'Why is mango sticky rice tasty?');
      SELECT SNOWFLAKE.CORTEX.COMPLETE('mistral-7b', CONCAT('Tell me why this food is tasty: ', menu_item_name)) FROM raw_pos.menu LIMIT 5;
      SELECT SNOWFLAKE.CORTEX.COMPLETE('mistral-7b', [{'role': 'system', 'content': 'You are a chef.'}, {'role': 'user', 'content': 'Suggest a dessert.'}], {'max_tokens': 100});
      Cifras del curso
      • La demo por filas se limita a 5 filas; la demo de la CLI cambia a un modelo Llama.Lección: Snowflake Cortex LLM Functions
    4. Cortex Analyst

      Preguntas, no SQL

      Qué es
      Responde preguntas en lenguaje natural sobre tus datos sin escribir SQL, expuesto como API REST. Necesita un modelo semántico que defina los términos de negocio, y el curso lo considera fiable para aplicaciones en producción.
      Cuándo usarlo
      Analítica de autoservicio en una app: "ingresos por marca de food truck el último trimestre" escrito por un responsable.
      Ángulo de IA
      Texto a SQL apoyado en tu modelo semántico y no en nombres de tablas en bruto.
    5. Cortex Fine-Tuning

      Ajusta un modelo in situ

      Qué es
      Ajusta un modelo base con pares de entrada y salida ideal guardados en Snowflake, sin GPU que aprovisionar, y luego llama al resultado como a cualquier otra función de Cortex.
      Cuándo usarlo
      Tus propias etiquetas de clasificación o tu estilo propio, aprendidos de ejemplos que ya tienes en una tabla.
      Ángulo de IA
      Modelos personalizados sin salir del perímetro de gobernanza.
    6. Document AI

      De PDF a tablas

      Qué es
      Un modelo gestionado por Snowflake que extrae datos estructurados de PDF, formularios y contratos a columnas de tabla.
      Cuándo usarlo
      Totales y fechas de facturas a partir de una carpeta de documentos escaneados.
      Ángulo de IA
      Sin entrenamiento ni alojamiento de modelos por tu parte.
    7. AI/ML Studio

      Apuntar y hacer clic

      Qué es
      Una interfaz de Snowsight para previsiones y clasificación sin escribir SQL.
      Cuándo usarlo
      Un analista construye una previsión de demanda en minutos antes de que nadie escriba código.
      Ángulo de IA
      El extremo de los "segundos" del espectro: IA sin código.
    8. Snowflake Copilot

      Del lenguaje natural al SQL

      Qué es
      Un asistente LLM en Snowsight que convierte una petición en lenguaje natural en SQL y la refina contigo. La transcripción escribe el nombre como "Snowflake Coco".
      Cuándo usarlo
      Redacta el GROUP BY que recuerdas a medias y edítalo luego en la hoja.
      Ángulo de IA
      Texto a SQL para la persona que escribe la consulta.
    9. Cortex CLI

      `snow cortex`

      Qué es
      La CLI expone complete, extract-answer, sentiment, translate y search. La salida es texto plano para encadenar o redirigir, y se puede pasar un archivo por tubería para tareas sobre documentos.
      Cuándo usarlo
      Resume un archivo de registro desde un script de shell con un modelo que corre en tu cuenta.
      Ángulo de IA
      Las mismas funciones de Cortex, desde la terminal.
      En código
      snow cortex --help
      snow cortex complete "Why is mango sticky rice tasty?" --model llama3-8b
      cat notes.txt | snow cortex summarize
    10. Snowpark Container Services

      La vía de escape

      Qué es
      Trae tu propio modelo, o un LLM de un socio del Marketplace, en contenedores sobre infraestructura gestionada por Snowflake con GPU incluidas; cualquier lenguaje (C/C++, Node.js, Python, R, React).
      Cuándo usarlo
      Un modelo que Cortex no ofrece, o un front-end en React que debe vivir dentro de la cuenta.
      Ángulo de IA
      El extremo de las "horas" del espectro: IA totalmente a medida junto a los datos.
  7. Aprendizaje automático

    Entrena donde están los datos

    Qué es
    El ML se ejecuta en CPU o GPU junto a los datos bajo la gobernanza de Snowflake: funciones ML de Cortex invocables desde SQL, la librería Snowpark ML (modelado, registro de modelos, feature store), notebooks y almacenes optimizados para Snowpark.
    Cuándo usarlo
    De una previsión en una llamada SQL a un modelo XGBoost ajustado y registrado, sin sacar los datos.
    Ángulo de IA
    El ML clásico convive con las funciones LLM de Cortex en la misma plataforma.
    1. Funciones ML de Cortex

      FORECAST, ANOMALY, CLASSIFY

      Qué es
      Modelos de ML invocables desde SQL (no LLM) que suelen necesitar datos de entrenamiento: FORECAST para series temporales, ANOMALY_DETECTION para valores atípicos, TOP_INSIGHTS para los factores de un cambio en una métrica (no causal) y CLASSIFICATION, binaria o multiclase. FORECAST, ANOMALY_DETECTION y CLASSIFICATION usan gradient boosting; FORECAST y ANOMALY_DETECTION se crean y luego se invocan con CALL, las otras se ejecutan dentro de SELECT.
      Cuándo usarlo
      Las ventas del mes que viene por food truck o una marca en un total diario extraño, sin nada de Python.
      Ángulo de IA
      Modelos prefabricados que entrenas con una sentencia.
      En código
      CREATE SNOWFLAKE.ML.FORECAST sales_fc (INPUT_DATA => TABLE(daily_sales), TIMESTAMP_COLNAME => 'day', TARGET_COLNAME => 'revenue');
      CALL sales_fc!FORECAST(FORECASTING_PERIODS => 30);
      SELECT SNOWFLAKE.ML.TOP_INSIGHTS(…);
      SELECT model_binary!PREDICT(…);
    2. Snowpark ML Modeling

      Estilo scikit-learn, en Snowflake

      Qué es
      Una librería Python (snowflake.ml) con API al estilo de scikit-learn, XGBoost y LightGBM para preprocesado, ingeniería de características y entrenamiento que se ejecutan dentro de Snowflake; algunos pasos y el ajuste de hiperparámetros se distribuyen. Antes de ella, hacer ML en Snowflake significaba procedimientos almacenados o UDF hechos a mano.
      Cuándo usarlo
      Conserva los hábitos de sklearn y elimina la exportación de datos.
      Ángulo de IA
      El entrenamiento va a los datos en vez de llevar los datos al entrenador.
      En código
      from snowflake.ml.modeling.preprocessing import LabelEncoder
      from snowflake.ml.modeling.xgboost import XGBClassifier
      enc = LabelEncoder(input_cols=['city'], output_cols=['city_code']).fit(df)
      model = XGBClassifier(input_cols=features, label_cols=['label']).fit(train_df)
      model.score(test_df)
    3. Model Registry

      Modelos versionados de cualquier origen

      Qué es
      Artefactos de modelos versionados con sus metadatos; gestiona y ejecuta modelos de cualquier origen, incluidos SageMaker, Azure ML, Vertex AI y LLM de Hugging Face.
      Cuándo usarlo
      Un solo lugar para registrar, versionar y servir el modelo, lo haya entrenado la plataforma que sea.
      Ángulo de IA
      Los modelos de Hugging Face se pueden registrar y ejecutar junto a los datos.
      En código
      registry.log_model(model, model_name='truck_classifier', version_name='v1')
    4. Feature Store

      Características con una sola fuente de verdad

      Qué es
      Crea, guarda, gestiona y sirve características como "una única fuente de verdad" con actualizaciones continuas.
      Cuándo usarlo
      Entrenamiento e inferencia leen las mismas definiciones de características, así que el modelo ve en producción lo que vio al entrenar.
      Ángulo de IA
      La capa de datos bajo los pipelines de ML y de LLM.
    5. La demo de XGBoost

      Snowpark ML de principio a fin

      Qué es
      Sesión a partir de credenciales, exploración con DataFrames de Snowpark (count, describe, group_by), un LabelEncoder, una partición aleatoria, tablas guardadas de vuelta, un XGBClassifier entrenado y evaluado, todo en Snowflake. La misma tarea podría usar la función CLASSIFICATION de Cortex ML.
      Cuándo usarlo
      La plantilla para un primer modelo dentro del almacén de datos: preprocesar, partir, entrenar, evaluar, registrar.
      En código
      train_df, test_df = df.random_split(weights=[0.9, 0.1], seed=0)
      train_df.write.mode('overwrite').save_as_table('train')
      Cifras del curso
      • 8 barrios y 20 años de datos diarios: 7.300 filas; un conjunto de prueba del 10 % con 730 filas, 730 de 730 predicciones correctas.Lección: Snowpark ML Modeling
  8. Aplicaciones y la Data Cloud

    Construye y comparte sobre Snowflake

    Qué es
    Una app es un front-end, un back-end y una API, "la pila de la aplicación". Snowflake puede ser el back-end detrás de cualquier front-end o alojar la app completa: Streamlit en Snowflake, tablas híbridas, el Native App Framework y el Marketplace, todo dentro de la Data Cloud.
    Cuándo usarlo
    Si empiezas de cero: comienza con Streamlit en Snowflake, un paso hacia las Native Apps. Si integras: aprende primero los drivers.
    1. Streamlit en Snowflake

      Apps de datos en Python

      Qué es
      Streamlit es un framework Python de código abierto para apps de datos "con solo unas líneas de Python". Integrado en Snowsight: sin mover datos, despliegue seguro con un clic alojado por Snowflake, compartición por URL bajo el RBAC existente, apps multipágina y marca propia, baja latencia porque el código está junto a los datos.
      Cuándo usarlo
      Un explorador de ingresos con un deslizador de fechas y una selección múltiple de marcas para los responsables de los food trucks, o un modelo convertido en app sin trabajo de front-end.
      En código
      import streamlit as st
      session = get_active_session()
      @st.cache_data
      def load(q): return session.sql(q).to_pandas()
      city = st.select_slider('City', cities)   brands = st.multiselect('Brand', brands)
      tab1, tab2 = st.tabs(['Revenue', 'Orders'])
      Cifras del curso
      • La app de la demo tiene menos de 100 líneas de código y consulta orders_v, una vista de más de 690 millones de filas.Lección: Streamlit in Snowflake
    2. Tablas híbridas (Unistore)

      Transacciones + analítica

      Qué es
      Tablas que atienden cargas transaccionales y analíticas desde una sola base de datos, así que una app no necesita sistemas OLTP y OLAP separados; la carga de trabajo Unistore.
      Cuándo usarlo
      Una app Django o Streamlit escribe sus registros en una tabla híbrida y la misma tabla alimenta la analítica.
    3. Native App Framework

      Empaqueta, publica, instala

      Qué es
      Empaqueta la lógica de la app como un application package, publícalo en el Snowflake Marketplace y deja que los consumidores lo prueben, compren e instalen para ejecutarlo en su propio cómputo.
      Cuándo usarlo
      Vende un producto de datos a otras cuentas de Snowflake sin alojar infraestructura.
    4. Elecciones de arquitectura

      Fuera o todo dentro

      Qué es
      Front-end fuera de Snowflake con Snowflake como back-end: React con el driver de Node.js, o Django o Streamlit de código abierto con el conector de Python escribiendo en tablas híbridas, y la API de Python gestionando contenedores y tasks. O todo dentro: un front-end React en Snowpark Container Services, por menor latencia, requisitos de seguridad o regulatorios, menor tiempo al mercado, escalabilidad, alta disponibilidad y menos operaciones.
      Cuándo usarlo
      Elige según dónde deben quedarse los datos y quién opera los servidores.
    5. La Data Cloud

      Plataforma + contenido

      Qué es
      Dos elementos: la plataforma y el contenido que hay en ella: conjuntos de datos, modelos de ML y aplicaciones. Dentro de una organización, sin silos; cualquiera con los permisos adecuados llega al contenido sin moverlo. Entre organizaciones el Marketplace construye puentes: acceso sin copia entre nubes y regiones, "sin necesidad de ingesta", con "un único modelo de gobernanza que lo atraviesa todo".
      Cuándo usarlo
      Cruza un conjunto de datos meteorológicos o instala una app geoespacial del Marketplace y consúltala junto a tus propias tablas.
      Ángulo de IA
      El ejemplo final del curso: Snowpipe → limpiar → feature store → entrenar un modelo → servirlo en Streamlit, una sola plataforma de principio a fin.

Fuente: Coursera, "Intro to Snowflake for Devs, Data Scientists, Data Engineers" de Snowflake (instructor Peter Olson), transcripción obtenida el 5 de noviembre de 2026. Las definiciones, comandos y cifras son los del curso; algunas funciones estaban en vista previa al grabarse, así que consulta docs.snowflake.com para la disponibilidad y los precios actuales.