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.
Haga clic para ver el script:
-- Cree los warehouses
create warehouse if not exists my_xsmall_wh
with warehouse_size = XSMALL auto_suspend = 120;
create warehouse if not exists my_small_wh
with warehouse_size = SMALL auto_suspend = 120;
-- Cree la tabla
create or replace table <table_name>
(
date_time datetime, trans_amount double
);
-- Cree el stage
create or replace stage week_10_frosty_stage
url = '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:
- 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)
- 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í )
- 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. –
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.