Uh oh!
There was an error while loading. Please reload this page.
[SPARK-20783][SQL] Create ColumnVector to abstract existing compressed column (batch method) - #18704
[SPARK-20783][SQL] Create ColumnVector to abstract existing compressed column (batch method)#18704kiszk wants to merge 17 commits into
Conversation
SparkQA
commented
Jul 21, 2017
Test build #79837 has finished for PR 18704 at commit
|
SparkQA
commented
Jul 21, 2017
Test build #79838 has finished for PR 18704 at commit
|
SparkQA
commented
Jul 21, 2017
Test build #79839 has finished for PR 18704 at commit
|
SparkQA
commented
Jul 21, 2017
Test build #79843 has finished for PR 18704 at commit
|
kiszk
commented
Jul 23, 2017
ping @rxin |
1 similar comment
kiszk
commented
Jul 26, 2017
ping @rxin |
kiszk
commented
Jul 31, 2017
@rxin Could you please review this PR? |
SparkQA
commented
Aug 22, 2017
Test build #80958 has finished for PR 18704 at commit
|
SparkQA
commented
Aug 22, 2017
Test build #80961 has finished for PR 18704 at commit
|
SparkQA
commented
Aug 22, 2017
Test build #80964 has finished for PR 18704 at commit
|
kiszk
commented
Aug 22, 2017
retest this please |
SparkQA
commented
Aug 22, 2017
Test build #80978 has finished for PR 18704 at commit
|
SparkQA
commented
Aug 22, 2017
Test build #80982 has finished for PR 18704 at commit
|
kiszk
commented
Aug 22, 2017
@cloud-fan I updated this implementation by using |
There was a problem hiding this comment.
now we can move them to WritableColumnVector
There was a problem hiding this comment.
Got it. Rebased in my local version.
There was a problem hiding this comment.
can we delay the decompression and set the dictionary to ColumnVector?
SparkQA
commented
Aug 24, 2017
Test build #81093 has finished for PR 18704 at commit
|
kiszk
commented
Aug 25, 2017
@cloud-fan could you please review this again? |
kiszk
commented
Aug 31, 2017
ping @cloud-fan |
SparkQA
commented
Aug 31, 2017
Test build #81295 has finished for PR 18704 at commit
|
kiszk
commented
Sep 1, 2017
@cloud-fan Resolved conflict, could you please review? |
kiszk
commented
Sep 6, 2017
ping @cloud-fan |
1 similar comment
kiszk
commented
Sep 11, 2017
ping @cloud-fan |
There was a problem hiding this comment.
is it possible to avoid boxing here? e.g. we can have a lot of primitive array members.
There was a problem hiding this comment.
This description is a little vague, as the input data is byte[]. Can we say more about this? e.g. endianness.
There was a problem hiding this comment.
@ueshin Line 145 may make a mistake in comment Sets values from [rowId, rowId + count) to [src + srcIndex, src + srcIndex + count)
It should be Sets values from [src + srcIndex, src + srcIndex + count) to [rowId, rowId + count)
What do you think?
If we need to update, should we update them in this PR? Or, is it better to create another PR?
There was a problem hiding this comment.
let's update them in this PR. BTW WritableColumnVector may be exposed to end users, so that they can build columnar batch to data source v2 columnar scan, so the document is very important.
There was a problem hiding this comment.
If we need to throw exception at last, why not do it at the beginning?
There was a problem hiding this comment.
hmmm, is there any way to reduce the code duplication? maybe codegen?
There was a problem hiding this comment.
Removed code duplication by using a function object. How about this?
cloud-fan
commented
Oct 3, 2017
retest this please |
cloud-fan
commented
Oct 3, 2017
LGTM, pending jenkins |
SparkQA
commented
Oct 3, 2017
Test build #82420 has finished for PR 18704 at commit
|
kiszk
commented
Oct 3, 2017
I will rebase this next a few hours. |
revert unexpected style change
SparkQA
commented
Oct 3, 2017
Test build #82426 has finished for PR 18704 at commit
|
kiszk
commented
Oct 4, 2017
@cloud-fan merged with the latest master and addressed your comment for indent |
cloud-fan
commented
Oct 4, 2017
thanks, merging to master! |
What changes were proposed in this pull request?
This PR abstracts data compressed by
CompressibleColumnAccessorusingColumnVectorin batch method. WhenColumnAccessor.decompressis called,ColumnVectorwill have uncompressed data. This batch decompress does not useInternalRowto reduce the number of memory accesses.As first step of this implementation, this JIRA supports primitive data types. Another PR will support array and other data types.
This implementation decompress data in batch into uncompressed column batch, as @rxin suggested at here. Another implementation uses adapter approach as @cloud-fan suggested.
How was this patch tested?
Added test suites