Semana 10 - Difícil

Frosty Consulting tiene un cliente que quiere poder cargar datos desde un stage de forma manual pero dinámica. Para ser más específicos quieren ser capaces de:

  • ejecutar un único comando (procedimiento almacenado)
  • hacerlo manualmente, lo que significa que no se programará ni habrá Snowpipes
  • determinar dinámicamente el tamaño del warehouse, si un archivo es superior a 10KB quieren utilizar un wareouse small, cualquier cosa por debajo de ese tamaño debe ser manejado por un warehouse xsmall.
-- Cree los warehousescreate warehouse if not exists my_xsmall_whwith warehouse_size = XSMALL auto_suspend = 120;create warehouse if not exists my_small_whwith warehouse_size = SMALL auto_suspend = 120;-- Cree la tablacreate or replace table <table_name>(date_time datetime, trans_amount double);-- Cree el stagecreate or replace stage week_10_frosty_stageurl = 's3://frostyfridaychallenges/challenge_10/'file_format = <enter_file_format>;

Utilice el script anterior, y añada el procedimiento almacenado.

RESULTADO

Cuando ejecute la última línea del script anterior "call dynamic_warehouse_data_load()" debería obtener el siguiente resultado.

Y al consultar el QUERY_HISTORY, debería ver que se utilizaron diferentes almacenes para diferentes archivos.

Recuerda que si quieres participar:

  1. Regístrate como miembro de Frosty Friday. Puedes hacerlo haciendo clic en la barra lateral, y luego yendo a 'REGISTRARSE' (ten en cuenta que unirte a nuestra lista de correo no te da una cuenta de Frosty Friday)
  2. Publica tu código en GitHub y ponlo a disposición del público (consulta nuestra guía si no sabes cómo hacerlo aquí )
  3. Publica la URL en los comentarios del reto.

Si tienes alguna pregunta técnica que quieras plantear a la comunidad, puedes hacerlo aquí en nuestro hilo dedicado. -

Previous
Previous

Semana 10 - Procedimientos Almacenados y UDFs

Next
Next

Semana 8 - Streamlit & Aplicaciones