Open sundy-li opened 2 months ago
The pipeline is not distributed when executing create table t4 as select * from target_table
in version 936ffc9 because the create_table_as_select
method in CreateTableInterpreter
does not include any logic to distribute the pipeline. The method constructs the pipeline using InsertInterpreter
, but there is no mention of distributing the pipeline across multiple nodes or workers.
Here is the relevant code snippet from create_table_as_select
:
let mut pipeline = InsertInterpreter::try_create(self.ctx.clone(), insert_plan)?
.execute2()
.await?;
This indicates that the pipeline is created and executed, but there is no distribution logic applied to it.
Additionally, the PipelineBuilder
class has a method build_distributed_insert_select
that is designed to handle distributed insert-select operations. However, this method is not invoked in the create_table_as_select
process. The build_distributed_insert_select
method includes logic to build a distributed pipeline, cast schemas if needed, and append data to the table in a distributed manner:
impl PipelineBuilder {
pub fn build_distributed_insert_select(
&mut self,
insert_select: &DistributedInsertSelect,
) -> Result<()> {
// ... method implementation ...
}
}
Since the create_table_as_select
method does not utilize this distributed pipeline builder, the operation remains non-distributed [1][2].
To continue talking to Dosu, mention @dosu.
Search before asking
Version
936ffc9
What's Wrong?
the pipeline is not distributed, and explain sql will do "create table t4".
How to Reproduce?
Are you willing to submit PR?