Common types and utilities shared by cuDF's join APIs. More...
#include <cudf/ast/expressions.hpp>#include <cudf/table/table_view.hpp>#include <cudf/types.hpp>#include <cudf/utilities/default_stream.hpp>#include <cudf/utilities/export.hpp>#include <cudf/utilities/memory_resource.hpp>#include <rmm/cuda_stream_view.hpp>#include <rmm/device_uvector.hpp>#include <cuda/std/limits>#include <cstdint>Go to the source code of this file.
Classes | |
| struct | cudf::join_match_context |
| Holds context information about matches between tables during a join operation. More... | |
| struct | cudf::join_partition_context |
| Stores context information for partitioned join operations. More... | |
Namespaces | |
| cudf | |
| cuDF interfaces | |
Enumerations | |
| enum class | cudf::join_kind : int32_t { cudf::INNER_JOIN = 0 , cudf::LEFT_JOIN = 1 , cudf::FULL_JOIN = 2 , cudf::LEFT_SEMI_JOIN = 3 , cudf::LEFT_ANTI_JOIN = 4 } |
| Specifies the type of join operation to perform. More... | |
| enum class | cudf::join_prefilter : bool { NO = false , YES = true } |
| Specifies whether a join implementation should apply an optional prefilter that reduces candidate rows before probing the hash table. More... | |
Functions | |
| std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > | cudf::inner_join (cudf::table_view const &left_keys, cudf::table_view const &right_keys, null_equality compare_nulls=null_equality::EQUAL, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) |
| Returns a pair of row index vectors corresponding to an inner join between the specified tables. More... | |
| std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > | cudf::left_join (cudf::table_view const &left_keys, cudf::table_view const &right_keys, null_equality compare_nulls=null_equality::EQUAL, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) |
| Returns a pair of row index vectors corresponding to a left join between the specified tables. More... | |
| std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > | cudf::full_join (cudf::table_view const &left_keys, cudf::table_view const &right_keys, null_equality compare_nulls=null_equality::EQUAL, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) |
| Returns a pair of row index vectors corresponding to a full join between the specified tables. More... | |
| std::unique_ptr< cudf::table > | cudf::cross_join (cudf::table_view const &left, cudf::table_view const &right, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) |
Performs a cross join on two tables (left, right) More... | |
| std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > | cudf::filter_join_indices (cudf::table_view const &left, cudf::table_view const &right, cudf::device_span< size_type const > left_indices, cudf::device_span< size_type const > right_indices, cudf::ast::expression const &predicate, cudf::join_kind join_kind, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) |
| Filters join result indices based on a conditional predicate and join type. More... | |
| std::size_t | cudf::filter_join_indices_output_size (cudf::table_view const &left, cudf::table_view const &right, cudf::device_span< size_type const > left_indices, cudf::device_span< size_type const > right_indices, cudf::ast::expression const &predicate, cudf::join_kind join_kind, rmm::cuda_stream_view stream=cudf::get_default_stream()) |
Returns the exact output size of filter_join_indices without materializing the filtered index vectors. More... | |
| std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > | cudf::filter_join_indices_jit (cudf::table_view const &left, cudf::table_view const &right, cudf::device_span< size_type const > left_indices, cudf::device_span< size_type const > right_indices, std::string const &predicate_code, cudf::join_kind join_kind, bool is_ptx=false, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) |
| JIT-based filtering of join result indices using string predicate. More... | |
| std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > | cudf::filter_join_indices_jit (cudf::table_view const &left, cudf::table_view const &right, cudf::device_span< size_type const > left_indices, cudf::device_span< size_type const > right_indices, cudf::ast::expression const &predicate, cudf::join_kind join_kind, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref()) |
| Filters join indices using a JIT-compiled predicate from an AST expression. More... | |
Variables | |
| constexpr CUDF_HOST_DEVICE size_type | cudf::JoinNoMatch = cuda::std::numeric_limits<size_type>::min() |
| Sentinel value used to indicate an unmatched row index in join operations. More... | |
Common types and utilities shared by cuDF's join APIs.
Definition in file join.hpp.