Turi Create  4.0
turi::query_eval::subplan_executor Class Reference

#include <core/storage/query_engine/execution/subplan_executor.hpp>

Public Member Functions

sframe run (const std::shared_ptr< planner_node > &run_this, const materialize_options &exec_params=materialize_options())
 
std::vector< sframerun (const std::vector< std::shared_ptr< planner_node > > &stuff_to_run_in_parallel, const materialize_options &exec_params=materialize_options())
 
sframe run_concat (const std::vector< std::shared_ptr< planner_node > > &stuff_to_run_in_parallel, const materialize_options &exec_params=materialize_options())
 

Detailed Description

The subplan executor executes a restricted class of constant rate query plans.

The subplan executor is the last stage of a hierarchy of query executors.

The hierarchy is:

  • planner::materialize Handles the most general materializations
  • planner::partial_materialize Handles the most general materializations but performs all materializations except for the last stage. A private function.
  • planner::execute_node Replicates a plan for parallelization. A private function.
  • subplan_executor Executes a restricted plan.

As described in execution_node, to successfully execute a query plan requires certain rate control constraints to be true: i.e. all nodes must read/write data at exactly the same rate.

This executor assumes that the query plan to execute is exactly restricted to that. It simply sets up the pipeline of execution_node objects and materializes the results.

Definition at line 52 of file subplan_executor.hpp.

Member Function Documentation

◆ run() [1/2]

sframe turi::query_eval::subplan_executor::run ( const std::shared_ptr< planner_node > &  run_this,
const materialize_options exec_params = materialize_options() 
)

Runs a single job sequentially returning the resultant SFrame.

Note that materialize_options may be used to adapt the materialization process.

◆ run() [2/2]

std::vector<sframe> turi::query_eval::subplan_executor::run ( const std::vector< std::shared_ptr< planner_node > > &  stuff_to_run_in_parallel,
const materialize_options exec_params = materialize_options() 
)

Runs a batch of planner nodes in parallel, returning an SFrame for each of them.

Note that materialize_options may be used to adapt the materialization process.

◆ run_concat()

sframe turi::query_eval::subplan_executor::run_concat ( const std::vector< std::shared_ptr< planner_node > > &  stuff_to_run_in_parallel,
const materialize_options exec_params = materialize_options() 
)

Runs a batch of planner nodes in parallel, returning an SFrame comprising of the concatenation of the output of each of the planner nodes.

All the stuff_to_run_in_parallel must share exactly the same schema.

Note that materialize_options may be used to adapt the materialization process.


The documentation for this class was generated from the following file: