Uh oh!
There was an error while loading. Please reload this page.
[SPARK-17912][SQL] Refactor code generation to get data for ColumnVector/ColumnarBatch - #15467
[SPARK-17912][SQL] Refactor code generation to get data for ColumnVector/ColumnarBatch#15467kiszk wants to merge 2 commits into
Conversation
SparkQA
commented
Oct 13, 2016
Test build #66897 has finished for PR 15467 at commit
|
kiszk
commented
Oct 17, 2016
ericl
commented
Oct 17, 2016
Will do On Sun, Oct 16, 2016, 11:35 PM Kazuaki Ishizaki notifications@github.com
|
kiszk
commented
Oct 18, 2016
@ericl thank you very much |
kiszk
commented
Nov 29, 2016
ping @ericl |
kiszk
commented
Dec 6, 2016
@andrewor14 would it be possible to review this code? Or, could you please create the similar PR from #13899? |
kiszk
commented
Jan 8, 2017
@ericl, would it be possible to review this? |
| val scanTimeMetric = metricTerm(ctx, "scanTime") | ||
| val scanTimeTotalNs = ctx.freshName("scanTime") | ||
| ctx.addMutableState("long", scanTimeTotalNs, s"$scanTimeTotalNs = 0;") | ||
| val incReadBatches = if (!enableScanStatistics) "" else { |
There was a problem hiding this comment.
Should we leave this out from this refactoring?
There was a problem hiding this comment.
sure, I did. Even if it does not exists, it works for now.
| val colVars = output.indices.map(i => ctx.freshName("colInstance" + i)) | ||
| val columnAssigns = colVars.zipWithIndex.map { case (name, i) => | ||
| ctx.addMutableState(columnVectorClz, name, s"$name = null;") | ||
| val index = if (columnIndexes == null) i else columnIndexes(i) |
There was a problem hiding this comment.
same comment: maybe we can not introduce columnIndexes for now.
SparkQA
commented
Jan 18, 2017
Test build #71597 has finished for PR 15467 at commit
|
| */ | ||
| private[sql] trait ColumnarBatchScan extends CodegenSupport { | ||
| val inMemoryTableScan: InMemoryTableScanExec = null |
davies
commented
Jan 19, 2017
Merging this into master, thanks! |
…ctor/ColumnarBatch ## What changes were proposed in this pull request? This PR refactors the code generation part to get data from `ColumnarVector` and `ColumnarBatch` by using a trait `ColumnarBatchScan` for ease of reuse. This is because this part will be reused by several components (e.g. parquet reader, Dataset.cache, and others) since `ColumnarBatch` will be first citizen. This PR is a part of apache#15219. In advance, this PR makes the code generation for `ColumnarVector` and `ColumnarBatch` reuseable as a trait. In general, this is very useful for other components from the reuseability view, too. ## How was this patch tested? tested existing test suites Author: Kazuaki Ishizaki <ishizaki@jp.ibm.com> Closesapache#15467 from kiszk/columnarrefactor.
…ctor/ColumnarBatch ## What changes were proposed in this pull request? This PR refactors the code generation part to get data from `ColumnarVector` and `ColumnarBatch` by using a trait `ColumnarBatchScan` for ease of reuse. This is because this part will be reused by several components (e.g. parquet reader, Dataset.cache, and others) since `ColumnarBatch` will be first citizen. This PR is a part of apache#15219. In advance, this PR makes the code generation for `ColumnarVector` and `ColumnarBatch` reuseable as a trait. In general, this is very useful for other components from the reuseability view, too. ## How was this patch tested? tested existing test suites Author: Kazuaki Ishizaki <ishizaki@jp.ibm.com> Closesapache#15467 from kiszk/columnarrefactor.
What changes were proposed in this pull request?
This PR refactors the code generation part to get data from
ColumnarVectorandColumnarBatchby using a traitColumnarBatchScanfor ease of reuse. This is because this part will be reused by several components (e.g. parquet reader, Dataset.cache, and others) sinceColumnarBatchwill be first citizen.This PR is a part of #15219. In advance, this PR makes the code generation for
ColumnarVectorandColumnarBatchreuseable as a trait. In general, this is very useful for other components from the reuseability view, too.How was this patch tested?
tested existing test suites