Tasks In Snowflake | What is Task In Snowflake

Image could not load

Image by unsplash

Snowflake Tasks

Snowflake में Tasks एक feature है जो users को automated data processing और data management operations के लिए allow करता है।

Tasks एक तरह का automation है जो specific actions या operations को schedule करता है , जैसे कि data loading, data transformation, data exports, और भी बहुत कुछ।

नीचे कुछ reasons हैं जिसकी वजह से tasks को Snowflake में use किया जाता है।

  • Automation

  • Efficiency

  • Scheduling

  • Monitoring & Logging

Need Of Tasks In Snowflake

Tasks नीचे दिए गए SQL code को execute कर सकता है।

  • Single SQL statement

  • Call to a stored procedure

  • Procedural logic using Snowflake Scripting

SQL code execute करने के लिए Tasks को compute resources की जरूरत पड़ती है , और run करने के लिए नीचे दिए गए किसी एक compute models का use हो सकता है।

  1. Serverless compute model

  2. User-managed virtual warehouse

Snowflake Task Syntax

Snowflake में Task को create करते time बहुत से options मिलते हैं।

CREATE [ OR REPLACE ] TASK [ IF NOT EXISTS ] <name>
  [ { WAREHOUSE = <string> } | { USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE = <string> } ]
  [ SCHEDULE = '{ <num> MINUTE | USING CRON <expr> <time_zone> }' ]
  [ CONFIG = <configuration_string> ]
  [ ALLOW_OVERLAPPING_EXECUTION = TRUE | FALSE ]
  [ <session_parameter> = <value> [ , <session_parameter> = <value> ... ] ]
  [ USER_TASK_TIMEOUT_MS = <num> ]
  [ SUSPEND_TASK_AFTER_NUM_FAILURES = <num> ]
  [ ERROR_INTEGRATION = <integration_name> ]
  [ COMMENT = '<string_literal>' ]
  [ AFTER <string> [ , <string> , ... ] ]
  [ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
  [ FINALIZE = <string> ]
  [ TASK_AUTO_RETRY_ATTEMPTS = <num> ]
[ WHEN <boolean_expr> ]
AS
  "Your SQL Statement"

Snowflake Task Example

अब एक Task create करेंगे जो 1 hour के बाद एक particular table से data को दूसरी target table में insert करेंगे।

CREATE OR REPLACE TASK transform_data_task WAREHOUSE = my_warehouse SCHEDULE = '1 hour' AS INSERT INTO target_table SELECT column1, column2, SUM(column3) FROM source_table WHERE date_column >= DATEADD(HOUR, -1, CURRENT_TIMESTAMP) GROUP BY column1, column2;

आप किसी external storage जैसे S3 या Blob Storage में data store कर सकते हैं , नीचे create किया गया task हर 1 hour में S3 bucket में load होगा।

CREATE OR REPLACE TASK export_data_task WAREHOUSE = my_warehouse SCHEDULE = 'DAILY' AS COPY INTO 's3://my_bucket/export' FROM my_table FILE_FORMAT = (FORMAT_NAME = CSV);

Task को schedule करने के लिए आप Cron Expression का भी use कर सकते हैं।

For Example

CREATE OR REPLACE TASK hourly_task
  WAREHOUSE = my_warehouse
  SCHEDULE = 'USING CRON 0 * * * *' -- Cron expression for every hour
AS
  -- Your task definition goes here

Snowflake List All Tasks

tasks को list करने के लिए SHOW TASKS command का use किया जाता है।

SHOW TASKS [DATABASE database_name] [SCHEMA schema_name];

Example

SHOW TASKS; -- filter task using wild card. SHOW TASKS LIKE 'search%';

Show all tasks available in public schema

SHOW TASKS LIKE 'line%' IN public;;

Snowflake Start / Stop Task

किसी existing task को Start / Stop करने के लिए क्रमशः RESUME / SUSPEND keyword का use किया जाता है।

ALTER TASK [ IF EXISTS ] TaskName RESUME SUSPEND; -- start task
ALTER TASK [ IF EXISTS ] TaskName SUSPEND;  -- stop task

हालाँकि ALTER TASK statement का use करके आप Task definition को modify भी कर सकते हैं।

Snowflake Drop Task

किसी existing task को remove / drop करने के लिए DROP TASK statement का use किया जाता है।

DROP TASK IF EXISTS TaskName;

I Hope , आपको Snowflake में Task के बारे में अच्छे से समझ आया होगा।

Recent Blogs

Loading ...

Rahul Kumar

Rahul Kumar

Hi ! I'm Rahul Kumar Rajput founder of learnhindituts.com. I'm a software developer having more than 4 years of experience. I love to talk about programming as well as writing technical tutorials and blogs that can help to others. I'm here to help you navigate the coding cosmos and turn your ideas into reality, keep coding, keep learning :)

Get connected with me. :) LinkedIn Twitter Instagram Facebook