US 11,748,155 B1
Declarative engine for workloads
Yuchen Cao, Foster City, CA (US); Stephen Mark Andrew Clark, Menlo Park, CA (US); Supriya Vasudevan, San Jose, CA (US); and Jinzhou Yang, Bellevue, WA (US)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by Snowflake Inc., Bozeman, MT (US)
Filed on Apr. 20, 2022, as Appl. No. 17/659,925.
Int. Cl. G06F 9/48 (2006.01); G06F 8/41 (2018.01); G06F 8/30 (2018.01)
CPC G06F 9/4881 (2013.01) [G06F 8/41 (2013.01); G06F 8/311 (2013.01)] 30 Claims
OG exemplary drawing
 
1. A system comprising:
at least one hardware processor; and
at least one memory storing instructions that cause the at least one hardware processor to perform operations comprising:
retrieving a script file, the script file specifying a plurality of tasks forming a plan, and the script file including at least one statement specifying an order of execution for the plurality of tasks;
compiling the script file to generate compiled code;
executing the compiled code to generate an in-memory representation of the plan, the in-memory representation including a setup block specifying a plurality of inputs;
converting the in-memory representation of the plan into at least a first graph and a second graph, the first graph including the plurality of tasks and the second graph based on the setup block specifying the plurality of inputs; and
executing the plurality of tasks in the first graph according to the order of execution and using the plurality of inputs associated with the second graph.