Class that implements sort-merge algorithm for table joins. More...
#include <sort_merge_join.hpp>
Public Member Functions | |
sort_merge_join (table_view const &right, sorted is_right_sorted, null_equality compare_nulls=null_equality::EQUAL, rmm::cuda_stream_view stream=cudf::get_default_stream()) | |
Construct a sort-merge join object that pre-processes the right table on creation, and can be used on subsequent join operations with multiple left tables. More... | |
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > | inner_join (table_view const &left, sorted is_left_sorted, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) |
Returns the row indices that can be used to construct the result of performing an inner join between the right table passed while creating the sort_merge_join object, and the left table. More... | |
Class that implements sort-merge algorithm for table joins.
Definition at line 44 of file sort_merge_join.hpp.
cudf::sort_merge_join::sort_merge_join | ( | table_view const & | right, |
sorted | is_right_sorted, | ||
null_equality | compare_nulls = null_equality::EQUAL , |
||
rmm::cuda_stream_view | stream = cudf::get_default_stream() |
||
) |
Construct a sort-merge join object that pre-processes the right table on creation, and can be used on subsequent join operations with multiple left tables.
sort_merge_join
object must not outlive the table viewed by right
, else behavior is undefined.right | The right table |
is_right_sorted | Enum to indicate if right table is pre-sorted |
compare_nulls | Controls whether null join-key values should match or not |
stream | CUDA stream used for device memory operations and kernel launches |
std::pair<std::unique_ptr<rmm::device_uvector<size_type> >, std::unique_ptr<rmm::device_uvector<size_type> > > cudf::sort_merge_join::inner_join | ( | table_view const & | left, |
sorted | is_left_sorted, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
Returns the row indices that can be used to construct the result of performing an inner join between the right table passed while creating the sort_merge_join object, and the left table.
left | The left table |
is_left_sorted | Enum to indicate if left table is pre-sorted |
stream | CUDA stream used for device memory operations and kernel launches |
mr | Device memory resource used to allocate the join indices' device memory. |
left_indices
, right_indices
] that can be used to construct the result of performing an inner join between two tables