Skip to main content
sgrip
Gold ⭐️
July 1, 2019
Solved

IMPALA: RIGHT OUTER JOIN type with no equi-join predicates can only be executed with a single node

I have enable stats using `COMPUTE STATS` on a table. After this when I re-run the query, it's giving me an error `A RIGHT OUTER JOIN type with no equi-join predicates can only be executed with a single node plan`. Dropping the stats is execuring the query. I'm trying to improve the query performance.

sgrip
sgripAnswer
Gold ⭐️
July 2, 2019

By default, Impala uses something called as a “broadcast join” which assumes that the left table is larger than the right. Which is not true in my case.

 

It does the join inversion inherently if this is not done in the query.

When such an inversion is to be overridden, it is suggested to be overriden by the keyword “STRAIGHT_JOIN“.

 

Or re-write the query to swap the join sets and make the left join a right join.

Since in this case it’s non-equi join, right outer joins do not support a right outer join in Impala yet. Replaced the left join with an INNER JOIN  and swapping the datasets.

 

4 replies

sgrip
sgripAuthor
Gold ⭐️
July 1, 2019
Note: My query has a left join and doesn’t have a right join.

Select f1, f2, f3 from ( Select t.t1, t.t2, t.t3 from table1 t Left join Select p.p1, p.p2, p.p3 from table2 p on p.p1=t.t1)i Where condition
Translate
sgrip
sgripAuthorAnswer
Gold ⭐️
July 2, 2019

By default, Impala uses something called as a “broadcast join” which assumes that the left table is larger than the right. Which is not true in my case.

 

It does the join inversion inherently if this is not done in the query.

When such an inversion is to be overridden, it is suggested to be overriden by the keyword “STRAIGHT_JOIN“.

 

Or re-write the query to swap the join sets and make the left join a right join.

Since in this case it’s non-equi join, right outer joins do not support a right outer join in Impala yet. Replaced the left join with an INNER JOIN  and swapping the datasets.

 

Translate
Tim Armstrong
Platinum ⭐️
Platinum ⭐️
July 15, 2019

You shouldn't be seeing this error. I think you are probably hitting an old bug where sometimes an invalid execution plan was generated. - https://issues.apache.org/jira/browse/IMPALA-5689 or https://issues.apache.org/jira/browse/IMPALA-3063

 

It should be fixed in CDH5.13.0 or later.

Translate