pub async fn execute_distributed_query(
        &mut self,
        execution_plan: Arc<dyn ExecutionPlan>,
    ) -> Result<Arc<dyn ExecutionPlan>> {
        let job_uuid = Uuid::new_v4();

        let execution_plan = self.prepare_query_stages(&job_uuid, execution_plan)?;

        // wrap final operator in query stage
        let execution_plan =
            create_query_stage(&job_uuid, self.next_stage_id(), execution_plan.clone())?;
        pretty_print(execution_plan.clone(), 0);

        execute(execution_plan.clone(), self.executors.clone()).await
    }
/// Execute a distributed query against a cluster, leaving the final results on the
/// executors. The [ExecutionPlan] returned by this method is guaranteed to be a
/// [ShuffleReaderExec] that can be used to fetch the final results from the executors
/// in parallel.
Execute a distributed query against a cluster, leaving the final results on the
executors. The [ExecutionPlan] returned by this method is guaranteed to be a
[ShuffleReaderExec] that can be used to fetch the final results from the executors
in parallel.
Execute a distributed query against a cluster leaving the final results on the executors . The [ ExecutionPlan ] returned by this method is guaranteed to be a [ ShuffleReaderExec ] that can be used to fetch the final results from the executors in parallel .
pub async fn execute_distributed_query(
        &mut self,
        execution_plan: Arc<dyn ExecutionPlan>,
    ) -> Result<Arc<dyn ExecutionPlan>> {
        let job_uuid = Uuid::new_v4();
        let execution_plan = self.prepare_query_stages(&job_uuid, execution_plan)?;
        // wrap final operator in query stage
        let execution_plan =
            create_query_stage(&job_uuid, self.next_stage_id(), execution_plan.clone())?;
        pretty_print(execution_plan.clone(), 0);
        execute(execution_plan.clone(), self.executors.clone()).await
    }
pub async fn execute_distributed_query ( & mut self , execution_plan : Arc < dyn ExecutionPlan > , ) -> Result < Arc < dyn ExecutionPlan > > { let job_uuid = Uuid :: new_v4 ( ) ; let execution_plan = self . prepare_query_stages ( & job_uuid , execution_plan ) ? ; // wrap final operator in query stage let execution_plan = create_query_stage ( & job_uuid , self . next_stage_id ( ) , execution_plan . clone ( ) ) ? ; pretty_print ( execution_plan . clone ( ) , 0 ) ; execute ( execution_plan . clone ( ) , self . executors . clone ( ) ) . await }
Execute a distributed query against a cluster, leaving the final results on the
executors.
Execute a distributed query against a cluster leaving the final results on the executors .
&mut self
execution_plan
Arc<dyn ExecutionPlan>
&mut self
execution_plan
Arc<dyn ExecutionPlan>