+dev +1 to Hakim. AbstractRR#isSkipQuery is the way to go. If you want more details on this you should check out DRILL-2358[1] that is an umbrella issue targeting to make count(*) queries more efficient per storage plugin. Currently (I guess) JSON and Mongo(?) readers support it though.
1: https://github.com/apache/drill/commit/54df129cab544c3df8e75a7dae3f85a91a9ded5a On Thu, Aug 6, 2015 at 6:50 PM, Abdel Hakim Deneche <[email protected]> wrote: > Hi Sudip, > > I'm not really an expert in this matter but I came recently across > isSkipQuery() method in AbstractRecordReader, it's javadoc states: > > *Returns true if reader should skip all of the columns, reporting number of > > records only. Handling of a skip query is storage plugin-specific.* > > > You can take a look at JSONRecordReader for an example on how to use > isSkipQuery() to optimize the reading. > > Thanks > > On Thu, Aug 6, 2015 at 2:01 AM, Sudip Mukherjee < > [email protected] > > wrote: > > > Hi, > > I am using apache drill recently with mongodb and trying to write a basic > > plug-in for apache solr. Wanted to know how does the plug-in know that an > > count(*) query has been applied so that the query to data-source can be > > optimized? Can i get it if I extend AbstractExprVisitor class? > > > > Thanks,Sudip Mukherjee > > > > > -- > > Abdelhakim Deneche > > Software Engineer > > <http://www.mapr.com/> > > > Now Available - Free Hadoop On-Demand Training > < > http://www.mapr.com/training?utm_source=Email&utm_medium=Signature&utm_campaign=Free%20available > > >
