How to force join pushdown?

I have one data source (Greenplum through PostgreSQL connector) and multiple datasets over it.

I join these datasets and the result contains only 8 rows. One of these datasets is fact and contains 160k rows.
And Dremio downloads all data before joining:

Input Bytes:	11.70 MB
Input Records:	168,280

Output Bytes:	164 B	
Output Records:	8	

And the query plan consists of reading data by 97%.

I wrote pure PostgreSQL query analog (join in the database, return the only result) and it works 10x faster.

So my question - how to push down join? (I can’t use external query because of multiple virtual datasets). (70.4 КБ)

Something similar.


We have introduces external query, where you can push down the entire query to the souce in the exact manner you want, kindly let us know, if that helps

@balaji.ramaswamy Thanks, I know, but it not applicable in this case. We use VDS in queries and these queries write many different analysts.

I upgraded to version 4.9.1 and the problem disappeared.