Snowflake में डेटा पाइपलाइन ऑटोमेशन
Emily Melhuish
Technical Curriculum Developer, Snowflake
![]()
यूज़र-डिफ़ाइंड फ़ंक्शंस
अनुशंसित शुरुआती बिंदु
CREATE FUNCTION delivery_tier(days INT)
RETURNS VARCHAR AS $$
CASE WHEN days <= 2 THEN 'Express'
WHEN days <= 5 THEN 'Standard'
ELSE 'Delayed' END $$;
जब SQL पर्याप्त न हो
CREATE FUNCTION parse_weight(label STRING)
RETURNS FLOAT LANGUAGE PYTHON
RUNTIME_VERSION = '3.9' HANDLER = 'parse'
AS $$ def parse(s): return float(s.split('kg')[0]) $$;

UDFs ट्रांसफ़ॉर्मेशन लेयर में होते हैं — रॉ स्टोरेज और रिपोर्टिंग के बीच
SELECT के अंदर कॉल; प्रति पंक्ति एक मान लौटाएँSECURE जोड़ेंCALL से स्टैंडअलोन कॉल करें
CREATE OR REPLACE PROCEDURE archive_old_shipments(cutoff INT)
RETURNS STRING LANGUAGE SQL AS $$
DECLARE -- 1. Declare variables
rows_moved INT DEFAULT 0;
BEGIN -- 2. Begin the procedure
INSERT INTO shipments_archive -- 3. Execute SQL commands
SELECT * FROM shipments WHERE delivery_days > :cutoff;
rows_moved := SQLROWCOUNT;
DELETE FROM shipments WHERE delivery_days > :cutoff;
RETURN 'Archived ' || rows_moved -- 4. Return the result
|| ' shipments.';
END; -- 5. End the procedure
$$;
| UDF | स्टोर्ड प्रोसिजर | |
|---|---|---|
| कॉल कहाँ | SELECT |
CALL |
| रिटर्न | प्रति पंक्ति एक मान | एक एकल मान |
| DML चला सकता है | नहीं | हाँ |
| भाषाएँ | SQL, Python, Java, JS | SQL (Snowflake Scripting), Python, Java, JS, Scala |
| पाइपलाइन में उपयोग | डेटा ट्रांसफ़ॉर्म | लॉजिक ऑर्केस्ट्रेट |
Snowflake में डेटा पाइपलाइन ऑटोमेशन