Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
4.0.0, 3.5.1
Description
MultiInsert is split to multiple sql executions, resulting in no exchange reuse.
Reproduce sql:
create table wangzhen_t1(c1 int); create table wangzhen_t2(c1 int); create table wangzhen_t3(c1 int); insert into wangzhen_t1 values (1), (2), (3); from (select /*+ REPARTITION(3) */ c1 from wangzhen_t1) insert overwrite table wangzhen_t2 select c1 insert overwrite table wangzhen_t3 select c1;
In Spark 3.1, there is only one SQL execution and there is a reuse exchange.
However, in Spark 3.5, it was split to multiple executions and there was no ReuseExchange.
Attachments
Attachments
Issue Links
- links to