Files | |
file | join.hpp |
Classes | |
class | cudf::hash_join |
Hash join that builds hash table in creation and probes results in subsequent *_join member functions. More... | |
Functions | |
std::unique_ptr< cudf::table > | cudf::inner_join (cudf::table_view const &left, cudf::table_view const &right, std::vector< cudf::size_type > const &left_on, std::vector< cudf::size_type > const &right_on, std::vector< std::pair< cudf::size_type, cudf::size_type >> const &columns_in_common, null_equality compare_nulls=null_equality::EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource()) |
Performs an inner join on the specified columns of two tables (left , right ) More... | |
std::unique_ptr< cudf::table > | cudf::left_join (cudf::table_view const &left, cudf::table_view const &right, std::vector< cudf::size_type > const &left_on, std::vector< cudf::size_type > const &right_on, std::vector< std::pair< cudf::size_type, cudf::size_type >> const &columns_in_common, null_equality compare_nulls=null_equality::EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource()) |
Performs a left join (also known as left outer join) on the specified columns of two tables (left , right ) More... | |
std::unique_ptr< cudf::table > | cudf::full_join (cudf::table_view const &left, cudf::table_view const &right, std::vector< cudf::size_type > const &left_on, std::vector< cudf::size_type > const &right_on, std::vector< std::pair< cudf::size_type, cudf::size_type >> const &columns_in_common, null_equality compare_nulls=null_equality::EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource()) |
Performs a full join (also known as full outer join) on the specified columns of two tables (left , right ) More... | |
std::unique_ptr< cudf::table > | cudf::left_semi_join (cudf::table_view const &left, cudf::table_view const &right, std::vector< cudf::size_type > const &left_on, std::vector< cudf::size_type > const &right_on, std::vector< cudf::size_type > const &return_columns, null_equality compare_nulls=null_equality::EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource()) |
Performs a left semi join on the specified columns of two tables (left , right ) More... | |
std::unique_ptr< cudf::table > | cudf::left_anti_join (cudf::table_view const &left, cudf::table_view const &right, std::vector< cudf::size_type > const &left_on, std::vector< cudf::size_type > const &right_on, std::vector< cudf::size_type > const &return_columns, null_equality compare_nulls=null_equality::EQUAL, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource()) |
Performs a left anti join on the specified columns of two tables (left , right ) More... | |
std::unique_ptr< cudf::table > | cudf::cross_join (cudf::table_view const &left, cudf::table_view const &right, rmm::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource()) |
Performs a cross join on two tables (left , right ) More... | |
std::unique_ptr<cudf::table> cudf::cross_join | ( | cudf::table_view const & | left, |
cudf::table_view const & | right, | ||
rmm::mr::device_memory_resource * | mr = rmm::mr::get_current_device_resource() |
||
) |
Performs a cross join on two tables (left
, right
)
The cross join returns the cartesian product of rows from each table.
left.num_rows() * right.num_rows()
. Use with caution.cudf::logic_error | if the number of columns in either left or right table is 0 |
left | The left table |
right | The right table |
mr | Device memory resource used to allocate the returned table's device memory |
left
and right
tables std::unique_ptr<cudf::table> cudf::full_join | ( | cudf::table_view const & | left, |
cudf::table_view const & | right, | ||
std::vector< cudf::size_type > const & | left_on, | ||
std::vector< cudf::size_type > const & | right_on, | ||
std::vector< std::pair< cudf::size_type, cudf::size_type >> const & | columns_in_common, | ||
null_equality | compare_nulls = null_equality::EQUAL , |
||
rmm::mr::device_memory_resource * | mr = rmm::mr::get_current_device_resource() |
||
) |
Performs a full join (also known as full outer join) on the specified columns of two tables (left
, right
)
Full Join returns the rows that would be returned by a left join and those rows from the right table that do not have a match. For rows from the right table that do not have a match, the corresponding values in the left columns will be null.
cudf::logic_error | if columns_in_common contains a pair of indices (L, R) if L does not exist in left_on or R does not exist in right_on . |
cudf::logic_error | if columns_in_common contains a pair of indices (L, R) such that the location of L within left_on is not equal to location of R within right_on |
cudf::logic_error | if number of elements in left_on or right_on mismatch. |
cudf::logic_error | if number of columns in either left or right table is 0 or exceeds MAX_JOIN_SIZE |
std::out_of_range | if element of left_on or right_on exceed the number of columns in the left or right table. |
[in] | left | The left table |
[in] | right | The right table |
[in] | left_on | The column indices from left to join on. The column from left indicated by left_on[i] will be compared against the column from right indicated by right_on[i] . |
[in] | right_on | The column indices from right to join on. The column from right indicated by right_on[i] will be compared against the column from left indicated by left_on[i] . |
[in] | columns_in_common | is a vector of pairs of column indices into left and right , respectively, that are "in common". For "common" columns, only a single output column will be produced, which is gathered from left_on columns. Else, for every column in left_on and right_on , an output column will be produced. For each of these pairs (L, R), L should exist in left_on and R should exist in right_on . |
[in] | compare_nulls | controls whether null join-key values should match or not. |
mr | Device memory resource used to allocate the returned table and columns' device memory |
left
and right
tables on the columns specified by left_on
and right_on
. The resulting table will be joined columns of left(including common columns)+right(excluding common columns)
. std::unique_ptr<cudf::table> cudf::inner_join | ( | cudf::table_view const & | left, |
cudf::table_view const & | right, | ||
std::vector< cudf::size_type > const & | left_on, | ||
std::vector< cudf::size_type > const & | right_on, | ||
std::vector< std::pair< cudf::size_type, cudf::size_type >> const & | columns_in_common, | ||
null_equality | compare_nulls = null_equality::EQUAL , |
||
rmm::mr::device_memory_resource * | mr = rmm::mr::get_current_device_resource() |
||
) |
Performs an inner join on the specified columns of two tables (left
, right
)
Inner Join returns rows from both tables as long as the values in the columns being joined on match.
cudf::logic_error | if columns_in_common contains a pair of indices (L, R) if L does not exist in left_on or R does not exist in right_on . |
cudf::logic_error | if columns_in_common contains a pair of indices (L, R) such that the location of L within left_on is not equal to location of R within right_on |
cudf::logic_error | if number of elements in left_on or right_on mismatch. |
cudf::logic_error | if number of columns in either left or right table is 0 or exceeds MAX_JOIN_SIZE |
std::out_of_range | if element of left_on or right_on exceed the number of columns in the left or right table. |
[in] | left | The left table |
[in] | right | The right table |
[in] | left_on | The column indices from left to join on. The column from left indicated by left_on[i] will be compared against the column from right indicated by right_on[i] . |
[in] | right_on | The column indices from right to join on. The column from right indicated by right_on[i] will be compared against the column from left indicated by left_on[i] . |
[in] | columns_in_common | is a vector of pairs of column indices into left and right , respectively, that are "in common". For "common" columns, only a single output column will be produced, which is gathered from left_on columns. Else, for every column in left_on and right_on , an output column will be produced. For each of these pairs (L, R), L should exist in left_on and R should exist in right_on . |
[in] | compare_nulls | controls whether null join-key values should match or not. |
mr | Device memory resource used to allocate the returned table and columns' device memory |
left
and right
tables on the columns specified by left_on
and right_on
. The resulting table will be joined columns of left(including common columns)+right(excluding common columns)
. std::unique_ptr<cudf::table> cudf::left_anti_join | ( | cudf::table_view const & | left, |
cudf::table_view const & | right, | ||
std::vector< cudf::size_type > const & | left_on, | ||
std::vector< cudf::size_type > const & | right_on, | ||
std::vector< cudf::size_type > const & | return_columns, | ||
null_equality | compare_nulls = null_equality::EQUAL , |
||
rmm::mr::device_memory_resource * | mr = rmm::mr::get_current_device_resource() |
||
) |
Performs a left anti join on the specified columns of two tables (left
, right
)
A left anti join only returns data from the left table, and only returns rows that do not exist in the right table.
cudf::logic_error | if the number of columns in either left or right table is 0 |
cudf::logic_error | if the number of returned columns is 0 |
cudf::logic_error | if the number of elements in left_on and right_on are not equal |
[in] | left | The left table |
[in] | right | The right table |
[in] | left_on | The column indices from left to join on. The column from left indicated by left_on[i] will be compared against the column from right indicated by right_on[i] . |
[in] | right_on | The column indices from right to join on. The column from right indicated by right_on[i] will be compared against the column from left indicated by left_on[i] . |
[in] | return_columns | A vector of column indices from left to include in the returned table. |
[in] | compare_nulls | Controls whether null join-key values should match or not. |
[in] | mr | Device memory resource used to allocate the returned table's device memory |
left
and right
tables on the columns specified by left_on
and right_on
. The resulting table will contain return_columns
from left
that match in right. std::unique_ptr<cudf::table> cudf::left_join | ( | cudf::table_view const & | left, |
cudf::table_view const & | right, | ||
std::vector< cudf::size_type > const & | left_on, | ||
std::vector< cudf::size_type > const & | right_on, | ||
std::vector< std::pair< cudf::size_type, cudf::size_type >> const & | columns_in_common, | ||
null_equality | compare_nulls = null_equality::EQUAL , |
||
rmm::mr::device_memory_resource * | mr = rmm::mr::get_current_device_resource() |
||
) |
Performs a left join (also known as left outer join) on the specified columns of two tables (left
, right
)
Left Join returns all the rows from the left table and those rows from the right table that match on the joined columns. For rows from the right table that do not have a match, the corresponding values in the left columns will be null.
cudf::logic_error | if columns_in_common contains a pair of indices (L, R) if L does not exist in left_on or R does not exist in right_on . |
cudf::logic_error | if columns_in_common contains a pair of indices (L, R) such that the location of L within left_on is not equal to location of R within right_on |
cudf::logic_error | if number of elements in left_on or right_on mismatch. |
cudf::logic_error | if number of columns in either left or right table is 0 or exceeds MAX_JOIN_SIZE |
std::out_of_range | if element of left_on or right_on exceed the number of columns in the left or right table. |
[in] | left | The left table |
[in] | right | The right table |
[in] | left_on | The column indices from left to join on. The column from left indicated by left_on[i] will be compared against the column from right indicated by right_on[i] . |
[in] | right_on | The column indices from right to join on. The column from right indicated by right_on[i] will be compared against the column from left indicated by left_on[i] . |
[in] | columns_in_common | is a vector of pairs of column indices into left and right , respectively, that are "in common". For "common" columns, only a single output column will be produced, which is gathered from left_on columns. Else, for every column in left_on and right_on , an output column will be produced. For each of these pairs (L, R), L should exist in left_on and R should exist in right_on . |
[in] | compare_nulls | controls whether null join-key values should match or not. |
mr | Device memory resource used to allocate the returned table and columns' device memory |
left
and right
tables on the columns specified by left_on
and right_on
. The resulting table will be joined columns of left(including common columns)+right(excluding common columns)
. std::unique_ptr<cudf::table> cudf::left_semi_join | ( | cudf::table_view const & | left, |
cudf::table_view const & | right, | ||
std::vector< cudf::size_type > const & | left_on, | ||
std::vector< cudf::size_type > const & | right_on, | ||
std::vector< cudf::size_type > const & | return_columns, | ||
null_equality | compare_nulls = null_equality::EQUAL , |
||
rmm::mr::device_memory_resource * | mr = rmm::mr::get_current_device_resource() |
||
) |
Performs a left semi join on the specified columns of two tables (left
, right
)
A left semi join only returns data from the left table, and only returns rows that exist in the right table.
cudf::logic_error | if the number of columns in either left or right table is 0 |
cudf::logic_error | if the number of returned columns is 0 |
cudf::logic_error | if the number of elements in left_on and right_on are not equal |
[in] | left | The left table |
[in] | right | The right table |
[in] | left_on | The column indices from left to join on. The column from left indicated by left_on[i] will be compared against the column from right indicated by right_on[i] . |
[in] | right_on | The column indices from right to join on. The column from right indicated by right_on[i] will be compared against the column from left indicated by left_on[i] . |
[in] | return_columns | A vector of column indices from left to include in the returned table. |
[in] | compare_nulls | Controls whether null join-key values should match or not. |
[in] | mr | Device memory resource used to allocate the returned table's device memory |
left
and right
tables on the columns specified by left_on
and right_on
. The resulting table will contain return_columns
from left
that match in right.