在创建时构建哈希表并在后续的 *_join 成员函数中探测结果的哈希连接。更多...
#include <join.hpp>
公共类型 | |
| using | impl_type = typename cudf::detail::hash_join< cudf::hashing::detail::MurmurHash3_x86_32< cudf::hash_value_type > > |
| 实现类型。 | |
在创建时构建哈希表并在后续的 *_join 成员函数中探测结果的哈希连接。
此类实现了哈希连接方案,该方案构建哈希表一次,并根据需要多次(可能并行)探测。
| cudf::hash_join::hash_join | ( | cudf::table_view const & | build, |
| null_equality | compare_nulls, | ||
| rmm::cuda_stream_view | stream = cudf::get_default_stream() |
||
| ) |
构造一个哈希连接对象,用于后续的探测调用。
hash_join 对象不能比 build 查看的表更长寿,否则行为未定义。| build | 构建表,从中构建哈希表 |
| compare_nulls | 控制 null 连接键值是否应匹配 |
| stream | 用于设备内存操作和内核启动的 CUDA 流 |
| cudf::hash_join::hash_join | ( | cudf::table_view const & | build, |
| nullable_join | has_nulls, | ||
| null_equality | compare_nulls, | ||
| rmm::cuda_stream_view | stream = cudf::get_default_stream() |
||
| ) |
构造一个哈希连接对象,用于后续的探测调用。
hash_join 对象不能比 build 查看的表更长寿,否则行为未定义。| build | 构建表,从中构建哈希表 |
| compare_nulls | 控制 null 连接键值是否应匹配 |
| stream | 用于设备内存操作和内核启动的 CUDA 流 |
| has_nulls | 标志,指示 build 表或后续将用于连接的任何 probe 表中是否存在任何 null 值 |
| std::pair<std::unique_ptr<rmm::device_uvector<size_type> >, std::unique_ptr<rmm::device_uvector<size_type> > > cudf::hash_join::full_join | ( | cudf::table_view const & | probe, |
| std::optional< std::size_t > | output_size = {}, |
||
| rmm::cuda_stream_view | stream = cudf::get_default_stream(), |
||
| rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
| ) | const |
返回可用于构造两个表之间执行全连接结果的行索引。
output_size 小于实际输出大小,则行为未定义。| probe | 探测表,从中探测元组 |
| output_size | 可选值,允许用户指定确切的输出大小 |
| stream | 用于设备内存操作和内核启动的 CUDA 流 |
| mr | 用于分配返回的表和列的设备内存的设备内存资源。 |
| cudf::logic_error | 如果输入探测表包含 null 值,而此 hash_join 对象未在构建时检查 null。 |
build 和 probe 作为连接键的两个表之间执行全连接的结果。| std::size_t cudf::hash_join::full_join_size | ( | 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 |
返回使用指定探测表执行全连接时的确切匹配数(行数)。
| probe | 探测表,从中探测元组 |
| stream | 用于设备内存操作和内核启动的 CUDA 流 |
| mr | 用于分配中间表和列的设备内存的设备内存资源。 |
| cudf::logic_error | 如果输入探测表包含 null 值,而此 hash_join 对象未在构建时检查 null。 |
build 和 probe 作为连接键的两个表之间执行全连接时的确切输出数。| std::pair<std::unique_ptr<rmm::device_uvector<size_type> >, std::unique_ptr<rmm::device_uvector<size_type> > > cudf::hash_join::inner_join | ( | cudf::table_view const & | probe, |
| std::optional< std::size_t > | output_size = {}, |
||
| rmm::cuda_stream_view | stream = cudf::get_default_stream(), |
||
| rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
| ) | const |
返回可用于构造两个表之间执行内连接结果的行索引。
output_size 小于实际输出大小,则行为未定义。| probe | 探测表,从中探测元组 |
| output_size | 可选值,允许用户指定确切的输出大小 |
| stream | 用于设备内存操作和内核启动的 CUDA 流 |
| mr | 用于分配返回的表和列的设备内存的设备内存资源。 |
| cudf::logic_error | 如果输入探测表包含 null 值,而此 hash_join 对象未在构建时检查 null。 |
build 和 probe 作为连接键的两个表之间执行内连接的结果。| std::size_t cudf::hash_join::inner_join_size | ( | cudf::table_view const & | probe, |
| rmm::cuda_stream_view | stream = cudf::get_default_stream() |
||
| ) | const |
返回使用指定探测表执行内连接时的确切匹配数(行数)。
| probe | 探测表,从中探测元组 |
| stream | 用于设备内存操作和内核启动的 CUDA 流 |
| cudf::logic_error | 如果输入探测表包含 null 值,而此 hash_join 对象未在构建时检查 null。 |
build 和 probe 作为连接键的两个表之间执行内连接时的确切输出数。| std::pair<std::unique_ptr<rmm::device_uvector<size_type> >, std::unique_ptr<rmm::device_uvector<size_type> > > cudf::hash_join::left_join | ( | cudf::table_view const & | probe, |
| std::optional< std::size_t > | output_size = {}, |
||
| rmm::cuda_stream_view | stream = cudf::get_default_stream(), |
||
| rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
| ) | const |
返回可用于构造两个表之间执行左连接结果的行索引。
output_size 小于实际输出大小,则行为未定义。| probe | 探测表,从中探测元组 |
| output_size | 可选值,允许用户指定确切的输出大小 |
| stream | 用于设备内存操作和内核启动的 CUDA 流 |
| mr | 用于分配返回的表和列的设备内存的设备内存资源。 |
| cudf::logic_error | 如果输入探测表包含 null 值,而此 hash_join 对象未在构建时检查 null。 |
build 和 probe 作为连接键的两个表之间执行左连接的结果。| std::size_t cudf::hash_join::left_join_size | ( | cudf::table_view const & | probe, |
| rmm::cuda_stream_view | stream = cudf::get_default_stream() |
||
| ) | const |
返回使用指定探测表执行左连接时的确切匹配数(行数)。
| probe | 探测表,从中探测元组 |
| stream | 用于设备内存操作和内核启动的 CUDA 流 |
| cudf::logic_error | 如果输入探测表包含 null 值,而此 hash_join 对象未在构建时检查 null。 |
build 和 probe 作为连接键的两个表之间执行左连接时的确切输出数。