-
Notifications
You must be signed in to change notification settings - Fork 912
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
Implement maps_column_view
abstraction over LIST<STRUCT<K,V>>
#10380
Implement maps_column_view
abstraction over LIST<STRUCT<K,V>>
#10380
Conversation
This PR is a work in progress, and in |
maps_column_view
abstraction over LIST<STRUCT<K,V>>
maps_column_view
abstraction over LIST<STRUCT<K,V>>
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.
Given that a map type doesn't exist in libcudf, I don't think this code should live in the libcudf header/source tree. I would expect this to live in the JNI layer or whatever we're calling the libcudf-spark companion library.
I'll move this over to the |
Added declarations for cudf::lists::detail::contains() in detail header.
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.
Other than the minor comment about min() vs. max(), lgtm from the Java perspective.
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.
Approving ops-codeowner
file changes
Thanks for the reviews, all. I'll merge this once I have rerun tests. |
@gpucibot merge |
Thank you for the reviews, all. This change was just merged. |
This commit removes unused code in map_lookup.cu and map_lookup.hpp. rapidsai#10380 replaced the functionality provided in map_lookup.*, and expanded map-lookup support to all value types, and string/integral key types. The old map_lookup kernels were retained "just in case". Removing the old kernels should reduce confusion, and avoid clutter.
This commit removes unused code in `map_lookup.cu` and `map_lookup.hpp`. #10380 replaced the functionality provided in `map_lookup.*`, and expanded map-lookup support to all value types, and string/integral key types. The old map_lookup kernels were retained "just in case". Removing the old kernels should reduce confusion, and avoid clutter. Authors: - MithunR (https://github.com/mythrocks) Approvers: - Nghia Truong (https://github.com/ttnghia) - Robert (Bobby) Evans (https://github.com/revans2) URL: #11221
Fixes #9109.
This commit adds a
map
abstraction over acolumn_view
of typeLIST<STRUCT<K,V>>
, whereK
andV
are key and value types. A list column of structs with two members may thus be viewed as amap
column.maps_column_view
is to aLIST<STRUCT<K,V>>
column whatlists_column_view
is to aLIST
column.The
maps_column_view
abstraction provides methods to fetch lists of keys and values (asLIST<K>
andLIST<V>
respectively). It also provides map lookup methods to find the values corresponding to a specified key, for each row in the "map" column.E.g.
This abstraction should help replace the Java/JNI
map_lookup
andmap_contains
kernels, which only handlesMAP<STRING, STRING>
.