libcudf
24.04.00
|
Distinct hash join that builds hash table in creation and probes results in subsequent *_join
member functions.
More...
#include <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, cudf::table_view const &probe, nullable_join has_nulls=nullable_join::YES, 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 (rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource()) 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 (rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource()) 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.
HasNested | Flag indicating whether there are nested columns in build/probe table |
cudf::distinct_hash_join< HasNested >::distinct_hash_join | ( | cudf::table_view const & | build, |
cudf::table_view const & | probe, | ||
nullable_join | has_nulls = nullable_join::YES , |
||
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 |
probe | The probe table, from which the keys are probed |
has_nulls | Flag to indicate if there exists any nulls in the build table or any probe table that will be used later for join |
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< HasNested >::inner_join | ( | rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
rmm::mr::device_memory_resource * | mr = rmm::mr::get_current_device_resource() |
||
) | const |
Returns the row indices that can be used to construct the result of performing an inner join between two tables.
stream | CUDA stream used for device memory operations and kernel launches |
mr | Device memory resource used to allocate the returned indices' device memory. |
build_indices
, probe_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< HasNested >::left_join | ( | rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
rmm::mr::device_memory_resource * | mr = rmm::mr::get_current_device_resource() |
||
) | 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
.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.