公共类型 | 公共成员函数 | 所有成员列表
cudf::hash_join 类参考

在创建时构建哈希表并在后续的 *_join 成员函数中探测结果的哈希连接。更多...

#include <join.hpp>

公共类型

using impl_type = typename cudf::detail::hash_join< cudf::hashing::detail::MurmurHash3_x86_32< cudf::hash_value_type > >
 实现类型。
 

公共成员函数

 hash_join (hash_join const &)=delete
 
 hash_join (hash_join &&)=delete
 
hash_joinoperator= (hash_join const &)=delete
 
hash_joinoperator= (hash_join &&)=delete
 
 hash_join (cudf::table_view const &build, null_equality compare_nulls, rmm::cuda_stream_view stream=cudf::get_default_stream())
 构造一个哈希连接对象,用于后续的探测调用。更多...
 
 hash_join (cudf::table_view const &build, nullable_join has_nulls, null_equality compare_nulls, rmm::cuda_stream_view stream=cudf::get_default_stream())
 构造一个哈希连接对象,用于后续的探测调用。更多...
 
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, 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
 
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > 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
 
std::pair< std::unique_ptr< rmm::device_uvector< size_type > >, std::unique_ptr< rmm::device_uvector< size_type > > > 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
 
std::size_t inner_join_size (cudf::table_view const &probe, rmm::cuda_stream_view stream=cudf::get_default_stream()) const
 
std::size_t left_join_size (cudf::table_view const &probe, rmm::cuda_stream_view stream=cudf::get_default_stream()) const
 
std::size_t 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
 

详细描述

在创建时构建哈希表并在后续的 *_join 成员函数中探测结果的哈希连接。

此类实现了哈希连接方案,该方案构建哈希表一次,并根据需要多次(可能并行)探测。

定义于文件 join.hpp299 行。

构造函数和析构函数文档

◆ hash_join() [1/2]

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 流

◆ hash_join() [2/2]

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 值

成员函数文档

◆ full_join()

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

返回可用于构造两个表之间执行全连接结果的行索引。

参见
cudf::full_join()。如果提供的 output_size 小于实际输出大小,则行为未定义。
参数
probe探测表,从中探测元组
output_size可选值,允许用户指定确切的输出大小
stream用于设备内存操作和内核启动的 CUDA 流
mr用于分配返回的表和列的设备内存的设备内存资源。
异常
cudf::logic_error如果输入探测表包含 null 值,而此 hash_join 对象未在构建时检查 null。
返回值
一对列 [`left_indices`, `right_indices`],可用于构造使用 buildprobe 作为连接键的两个表之间执行全连接的结果。

◆ full_join_size()

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。
返回值
使用 buildprobe 作为连接键的两个表之间执行全连接时的确切输出数。

◆ inner_join()

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

返回可用于构造两个表之间执行内连接结果的行索引。

参见
cudf::inner_join()。如果提供的 output_size 小于实际输出大小,则行为未定义。
参数
probe探测表,从中探测元组
output_size可选值,允许用户指定确切的输出大小
stream用于设备内存操作和内核启动的 CUDA 流
mr用于分配返回的表和列的设备内存的设备内存资源。
异常
cudf::logic_error如果输入探测表包含 null 值,而此 hash_join 对象未在构建时检查 null。
返回值
一对列 [`left_indices`, `right_indices`],可用于构造使用 buildprobe 作为连接键的两个表之间执行内连接的结果。

◆ inner_join_size()

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。
返回值
使用 buildprobe 作为连接键的两个表之间执行内连接时的确切输出数。

◆ left_join()

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

返回可用于构造两个表之间执行左连接结果的行索引。

参见
cudf::left_join()。如果提供的 output_size 小于实际输出大小,则行为未定义。
参数
probe探测表,从中探测元组
output_size可选值,允许用户指定确切的输出大小
stream用于设备内存操作和内核启动的 CUDA 流
mr用于分配返回的表和列的设备内存的设备内存资源。
异常
cudf::logic_error如果输入探测表包含 null 值,而此 hash_join 对象未在构建时检查 null。
返回值
一对列 [`left_indices`, `right_indices`],可用于构造使用 buildprobe 作为连接键的两个表之间执行左连接的结果。

◆ left_join_size()

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。
返回值
使用 buildprobe 作为连接键的两个表之间执行左连接时的确切输出数。

此类的文档生成自以下文件