Automatisering van datapijplijnen in Snowflake
Emily Melhuish
Technical Curriculum Developer, Snowflake
Voorbeeld:
-- De handmatige routine van vandaag (fragiel)
CALL logistics.refresh_ops_dashboard();
CREATE TASK logistics.refresh_dashboard
WAREHOUSE = harbr_wh
SCHEDULE = 'USING CRON 0 6 * * * UTC'
AS CALL logistics.refresh_ops_dashboard();
CREATE OR REPLACE TASK transform_delivery_summary
WAREHOUSE = harbr_wh
SCHEDULE = 'USING CRON 5 * * * * UTC'
AS INSERT INTO delivery_summary
SELECT shipment_id, status, updated_at
FROM delivery_events
WHERE processed = FALSE;
Op warehouse gebaseerde
CREATE TASK my_task
WAREHOUSE = harbr_wh -- named warehouse
SCHEDULE = '5 MINUTE'
AS INSERT INTO ...;
Serverless
WAREHOUSE-clausule wegCREATE TASK my_serverless_task
-- no WAREHOUSE clause
SCHEDULE = '5 MINUTE'
AS INSERT INTO ...;

AFTER
-- Activeer een taak
ALTER TASK mytask RESUME;
-- Pauzeer een taak
ALTER TASK mytask SUSPEND;
-- Voer een taak uit
EXECUTE TASK mytask SUSPEND;

CREATE OR REPLACE TASK logistics.process_delivery_events
WAREHOUSE = compute_wh
SCHEDULE = '5 minute'
WHEN SYSTEM$STREAM_HAS_DATA('logistics.delivery_events_stream')
AS
INSERT INTO logistics.processed_events
SELECT * FROM logistics.delivery_events_stream;
Automatisering van datapijplijnen in Snowflake