Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

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

avatar
Explorer

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.

1 ACCEPTED SOLUTION

avatar
Explorer

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.

 

View solution in original post

4 REPLIES 4

avatar
Explorer
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

avatar
Explorer

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.

 

avatar

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.

avatar
Explorer

Probably, the version we are using is 5.12.