Distinct hash join that builds hash table in creation and probes results in subsequent *_join
member functions.
More...
#include <distinct_hash_join.hpp>
Public Member Functions | |
distinct_hash_join (distinct_hash_join const &)=delete | |
distinct_hash_join (distinct_hash_join &&)=delete | |
distinct_hash_join & | operator= (distinct_hash_join const &)=delete |
distinct_hash_join & | operator= (distinct_hash_join &&)=delete |
distinct_hash_join (cudf::table_view const &build, null_equality compare_nulls=null_equality::EQUAL, rmm::cuda_stream_view stream=cudf::get_default_stream()) | |
Constructs a distinct hash join object for subsequent probe calls. More... | |
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > | inner_join (cudf::table_view const &probe, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) const |
Returns the row indices that can be used to construct the result of performing an inner join between two tables. More... | |
std::unique_ptr< rmm::device_uvector< size_type > > | left_join (cudf::table_view const &probe, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) const |
Returns the build table indices that can be used to construct the result of performing a left join between two tables. More... | |
Distinct hash join that builds hash table in creation and probes results in subsequent *_join
member functions.
This class enables the distinct hash join scheme that builds hash table once, and probes as many times as needed (possibly in parallel).
Definition at line 56 of file distinct_hash_join.hpp.
cudf::distinct_hash_join::distinct_hash_join | ( | cudf::table_view const & | build, |
null_equality | compare_nulls = null_equality::EQUAL , |
||
rmm::cuda_stream_view | stream = cudf::get_default_stream() |
||
) |
Constructs a distinct hash join object for subsequent probe calls.
build | The build table that contains distinct elements |
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::distinct_hash_join::inner_join | ( | cudf::table_view const & | probe, |
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) | const |
Returns the row indices that can be used to construct the result of performing an inner join between two tables.
probe | The probe table, from which the keys are probed |
stream | CUDA stream used for device memory operations and kernel launches |
mr | Device memory resource used to allocate the returned indices' device memory. |
probe_indices
, build_indices
] that can be used to construct the result of performing an inner join between two tables with build
and probe
as the join keys. std::unique_ptr<rmm::device_uvector<size_type> > cudf::distinct_hash_join::left_join | ( | cudf::table_view const & | probe, |
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) | const |
Returns the build table indices that can be used to construct the result of performing a left join between two tables.
i
of the probe table, the resulting build_indices[i]
contains the row index of the matched row from the build table if there is a match. Otherwise, contains JoinNoneValue
.probe | The probe table, from which the keys are probed |
stream | CUDA stream used for device memory operations and kernel launches |
mr | Device memory resource used to allocate the returned table and columns' device memory. |
build_indices
column that can be used to construct the result of performing a left join between two tables with build
and probe
as the join keys.