If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
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
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 हो सकता है।
Serverless compute model
User-managed virtual warehouse
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"
अब एक 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
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;;
किसी 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 भी कर सकते हैं।
किसी existing task को remove / drop करने के लिए DROP TASK
statement का use किया जाता है।
DROP TASK IF EXISTS TaskName;
I Hope , आपको Snowflake में Task के बारे में अच्छे से समझ आया होगा।
Loading ...