[ https://issues.apache.org/jira/browse/DRILL-4905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15573625#comment-15573625 ]
ASF GitHub Bot commented on DRILL-4905: --------------------------------------- Github user jinfengni commented on a diff in the pull request: https://github.com/apache/drill/pull/597#discussion_r83334160 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/columnreaders/ParquetRecordReader.java --- @@ -115,17 +118,30 @@ public ParquetRecordReader(FragmentContext fragmentContext, String path, int rowGroupIndex, + long numRecordsToRead, FileSystem fs, CodecFactory codecFactory, ParquetMetadata footer, List<SchemaPath> columns) throws ExecutionSetupException { - this(fragmentContext, DEFAULT_BATCH_LENGTH_IN_BITS, path, rowGroupIndex, fs, codecFactory, footer, - columns); + this(fragmentContext, DEFAULT_BATCH_LENGTH_IN_BITS, numRecordsToRead, + path, rowGroupIndex, fs, codecFactory, footer, columns); + } + + public ParquetRecordReader(FragmentContext fragmentContext, + String path, + int rowGroupIndex, + FileSystem fs, + CodecFactory codecFactory, + ParquetMetadata footer, + List<SchemaPath> columns) throws ExecutionSetupException { + this(fragmentContext, DEFAULT_BATCH_LENGTH_IN_BITS, DEFAULT_RECORDS_TO_READ_NOT_SPECIFIED, --- End diff -- I think we can get rid of DEFAULT_RECORDS_TO_READ_NOT_SPECIFIED. If numRecordsToRead is not specified, just use rowCount in the row Group. > Push down the LIMIT to the parquet reader scan to limit the numbers of > records read > ----------------------------------------------------------------------------------- > > Key: DRILL-4905 > URL: https://issues.apache.org/jira/browse/DRILL-4905 > Project: Apache Drill > Issue Type: Bug > Components: Storage - Parquet > Affects Versions: 1.8.0 > Reporter: Padma Penumarthy > Assignee: Padma Penumarthy > Fix For: 1.9.0 > > > Limit the number of records read from disk by pushing down the limit to > parquet reader. > For queries like > select * from <table> limit N; > where N < size of Parquet row group, we are reading 32K/64k rows or entire > row group. This needs to be optimized to read only N rows. > -- This message was sent by Atlassian JIRA (v6.3.4#6332)