Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Struct to string casting functionality #1814
Struct to string casting functionality #1814
Changes from 16 commits
231b9c4
66046aa
7bf55c8
c89599b
9ab378a
cb06c00
af7dc6e
63058c2
3fc1cc5
baa2c6b
e368f0e
99bd722
1fd7224
7a8877b
eb2b68d
1949221
b0a4f2c
83a2e80
f224600
29c7e88
3b8be30
a86c6ed
20ae6df
9099952
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need to copy this to a column vector? I understand because of the APIs we have right now it is needed, but it would be nice to avoid the copy if possible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ideally we would not copy this column vector, which is why I had been using
toString
in earlier iterations. How might I avoid this copy?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The signature of
doColumnar
takes aGpuColumnVector
It uses theGpuColumnVector
to extract its Spark data type so it can do the cast. AColumnVector
is aColumnView
. As such I would propose that we insert another API in between that we could use for recursive calls.Then you can call the new doColumnar without making copy of the data.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There a few things around decimal casting that didn't translate nicely. In some cases they want to do a zero-copy, so I've filtered them out in the
GpuColumnVector
wrapper API. In those cases, if those cases are found when doing aColumnView
cast, it's copied to a ColumnVector. Reworking the decimal support to beColumnView
friendly version can be done in a follow up PR if necessary, but it seemed a bit out of scope and was non-trivial.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we have a follow on issue to clean this up? The issue appears to be because of incRefCount, and there should be ways for us to work around that without too much difficulty.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#2043