diff options
author | Parth Chandra <parthc@apache.org> | 2016-09-27 14:03:35 -0700 |
---|---|---|
committer | Parth Chandra <parthc@apache.org> | 2016-11-02 17:57:46 -0700 |
commit | f9a443d8a3d8e81b7e76f161b611003d16a53a4d (patch) | |
tree | f0212574d0a40b42c9e1f61720b1717aba42b937 /exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetScanBatchCreator.java | |
parent | fe2334ee0234aa37637f17d7833e734333b73892 (diff) |
DRILL-4800: Add AsyncPageReader to pipeline PageRead Use non tracking input stream for Parquet scans. Make choice between async and sync reader configurable. Make various options user configurable - choose between sync and async page reader, enable/disable fadvise Add Parquet Scan metrics to track time spent in various operations
Diffstat (limited to 'exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetScanBatchCreator.java')
-rw-r--r-- | exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetScanBatchCreator.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetScanBatchCreator.java b/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetScanBatchCreator.java index a98c66083..a14bab52d 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetScanBatchCreator.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetScanBatchCreator.java @@ -73,10 +73,18 @@ public class ParquetScanBatchCreator implements BatchCreator<ParquetRowGroupScan DrillFileSystem fs; try { - fs = oContext.newFileSystem(rowGroupScan.getStorageEngine().getFsConf()); - } catch(IOException e) { - throw new ExecutionSetupException(String.format("Failed to create DrillFileSystem: %s", e.getMessage()), e); + boolean useAsyncPageReader = + context.getOptions().getOption(ExecConstants.PARQUET_PAGEREADER_ASYNC).bool_val; + if (useAsyncPageReader) { + fs = oContext.newNonTrackingFileSystem(rowGroupScan.getStorageEngine().getFsConf()); + } else { + fs = oContext.newFileSystem(rowGroupScan.getStorageEngine().getFsConf()); + } + } catch (IOException e) { + throw new ExecutionSetupException( + String.format("Failed to create DrillFileSystem: %s", e.getMessage()), e); } + Configuration conf = new Configuration(fs.getConf()); conf.setBoolean(ENABLE_BYTES_READ_COUNTER, false); conf.setBoolean(ENABLE_BYTES_TOTAL_COUNTER, false); |