文件 | 函数
更新键

文件

file  update_keys.hpp
 

函数

std::unique_ptr< cudf::dictionary::add_keys (dictionary_column_view const &dictionary_column, column_view const &new_keys, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 通过将新键元素添加到现有 dictionary_column 来创建新的字典列。 更多...
 
std::unique_ptr< cudf::dictionary::remove_keys (dictionary_column_view const &dictionary_column, column_view const &keys_to_remove, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 通过从现有 dictionary_column 中移除指定的键来创建新的字典列。 更多...
 
std::unique_ptr< cudf::dictionary::remove_unused_keys (dictionary_column_view const &dictionary_column, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 通过移除任何未被任何索引引用的键来创建新的字典列。 更多...
 
std::unique_ptr< cudf::dictionary::set_keys (dictionary_column__view const &dictionary_column, column_view const &keys, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 通过仅将指定的键应用于现有 dictionary_column 来创建新的字典列。 更多...
 
std::vector< std::unique_ptr< > > cudf::dictionary::match_dictionaries (cudf::host_span< dictionary_column_view const > input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 创建将输入字典中的键合并的新字典。 更多...
 

详细描述

函数文档

◆ add_keys()

std::unique_ptr<> cudf::dictionary::add_keys ( dictionary_column_view const &  dictionary_column,
column_view const &  new_keys,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

通过将新键元素添加到现有 dictionary_column 来创建新的字典列。

如果任何新键在现有字典元素之前排序,则会更新索引。

d1 = { keys=["a", "c", "d"], indices=[2, 0, 1, 0, 1]}
d2 = add_keys( d1, ["b", "c"] )
d2 is now {keys=["a", "b", "c", "d"], indices=[3, 0, 2, 0, 2]}

输出列将具有与输入列相同的行数。输入列中的空条目将复制到输出列。此操作不会创建新的空条目。

异常
cudf::logic_error如果 new_keys 的类型与 dictionary_column 中的键类型不匹配。
cudf::logic_error如果 new_keys 包含空值。
参数
dictionary_column现有字典列。
new_keys要合并到 dictionary_column 中的新键。
stream用于设备内存操作和核函数启动的 CUDA 流。
mr用于分配返回列的设备内存的设备内存资源。
返回值
新的字典列。

◆ match_dictionaries()

std::vector<std::unique_ptr<> > cudf::dictionary::match_dictionaries ( cudf::host_span< dictionary_column_view const >  input,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

创建将输入字典中的键合并的新字典。

这将连接每个字典的键,然后对每个字典调用 set_keys。结果是具有一组通用键的新字典的向量。

参数
input要匹配键的字典列。
stream用于设备内存操作和核函数启动的 CUDA 流。
mr用于分配返回列的设备内存的设备内存资源。
返回值
新的字典列。

◆ remove_keys()

std::unique_ptr<> cudf::dictionary::remove_keys ( dictionary_column_view const &  dictionary_column,
column_view const &  keys_to_remove,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

通过从现有 dictionary_column 中移除指定的键来创建新的字典列。

输出列将具有与输入列相同的行数。输入列中的空条目将复制到输出列。索引会更新为剩余键的新位置。任何指向已移除键的索引会将该行设为 null。

d1 = {keys=["a", "c", "d"], indices=[2, 0, 1, 0, 2]}
d2 = remove_keys( d1, ["b", "c"] )
d2 is now {keys=["a", "d"], indices=[1, 0, x, 0, 1], valids=[1, 1, 0, 1, 1]}

请注意,'a' 已被移除,因此输出行 [2] 变为 null。

异常
cudf::logic_error如果 keys_to_remove 的类型与 dictionary_column 中的键类型不匹配。
cudf::logic_error如果 keys_to_remove 包含空值。
参数
dictionary_column现有字典列。
keys_to_remove要从 dictionary_column 中移除的键。
stream用于设备内存操作和核函数启动的 CUDA 流。
mr用于分配返回列的设备内存的设备内存资源。
返回值
新的字典列。

◆ remove_unused_keys()

std::unique_ptr<> cudf::dictionary::remove_unused_keys ( dictionary_column_view const &  dictionary_column,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

通过移除任何未被任何索引引用的键来创建新的字典列。

索引会更新为剩余键的新位置值。

d1 = {["a","c","d"],[2,0,2,0]}
d2 = remove_unused_keys(d1)
d2 is now {["a","d"],[1,0,1,0]}
参数
dictionary_column现有字典列。
stream用于设备内存操作和核函数启动的 CUDA 流。
mr用于分配返回列的设备内存的设备内存资源。
返回值
新的字典列。

◆ set_keys()

std::unique_ptr<> cudf::dictionary::set_keys ( dictionary_column_view const &  dictionary_column,
column_view const &  keys,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

通过仅将指定的键应用于现有 dictionary_column 来创建新的字典列。

keys 参数中找到的任何新元素都将添加到输出字典中。 keys 参数中不存在的任何现有键都将被移除。

输出列中的行数将与输入列中的行数相同。现有空条目将复制到输出列。索引会更新以反映新键的位置值。任何指向已移除键的索引都会将这些行设为 null。

d1 = {keys=["a", "b", "c"], indices=[2, 0, 1, 2, 1]}
d2 = set_keys(existing_dict, ["b","c","d"])
d2 is now {keys=["b", "c", "d"], indices=[1, x, 0, 1, 0], valids=[1, 0, 1, 1, 1]}
异常
cudf::logic_error如果 keys 的类型与 dictionary_column 中的键类型不匹配。
cudf::logic_error如果 keys 包含空值。
参数
dictionary_column现有字典列。
keys用于输出列的新键。不能包含空值。
stream用于设备内存操作和核函数启动的 CUDA 流。
mr用于分配返回列的设备内存的设备内存资源。
返回值
新的字典列。