文件 | 函数
工厂
»

文件

文件  column_factories.hpp
 列工厂 API。
 
文件  dictionary_factories.hpp
 

函数

std::unique_ptr< columncudf::make_empty_column (data_type type)
 创建指定 type 的空列。 更多...
 
std::unique_ptr< columncudf::make_empty_column (type_id id)
 创建指定类型的空列。 更多...
 
std::unique_ptr< columncudf::make_numeric_column (data_type type, size_type size, mask_state state=mask_state::UNALLOCATED, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 构造具有足够未初始化存储的列,以容纳指定数字 data_typesize 个元素,带可选空值掩码。 更多...
 
template<typename B >
std::unique_ptr< columncudf::make_numeric_column (data_type type, size_type size, B &&null_mask, size_type null_count, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 构造具有足够未初始化存储的列,以容纳指定数字 data_typesize 个元素,带空值掩码。 更多...
 
std::unique_ptr< columncudf::make_fixed_point_column (data_type type, size_type size, mask_state state=mask_state::UNALLOCATED, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 构造具有足够未初始化存储的列,以容纳指定 fixed_point data_typesize 个元素,带可选空值掩码。 更多...
 
template<typename B >
std::unique_ptr< columncudf::make_fixed_point_column (data_type type, size_type size, B &&null_mask, size_type null_count, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 构造具有足够未初始化存储的列,以容纳指定 fixed_point data_typesize 个元素,带空值掩码。 更多...
 
std::unique_ptr< columncudf::make_timestamp_column (data_type type, size_type size, mask_state state=mask_state::UNALLOCATED, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 构造具有足够未初始化存储的列,以容纳指定时间戳 data_typesize 个元素,带可选空值掩码。 更多...
 
template<typename B >
std::unique_ptr< columncudf::make_timestamp_column (data_type type, size_type size, B &&null_mask, size_type null_count, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 构造具有足够未初始化存储的列,以容纳指定时间戳 data_typesize 个元素,带空值掩码。 更多...
 
std::unique_ptr< columncudf::make_duration_column (data_type type, size_type size, mask_state state=mask_state::UNALLOCATED, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 构造具有足够未初始化存储的列,以容纳指定时长 data_typesize 个元素,带可选空值掩码。 更多...
 
template<typename B >
std::unique_ptr< columncudf::make_duration_column (data_type type, size_type size, B &&null_mask, size_type null_count, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 构造具有足够未初始化存储的列,以容纳指定时长 data_typesize 个元素,带空值掩码。 更多...
 
std::unique_ptr< columncudf::make_fixed_width_column (data_type type, size_type size, mask_state state=mask_state::UNALLOCATED, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 构造具有足够未初始化存储的列,以容纳指定固定宽度 data_typesize 个元素,带可选空值掩码。 更多...
 
template<typename B >
std::unique_ptr< columncudf::make_fixed_width_column (data_type type, size_type size, B &&null_mask, size_type null_count, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 构造具有足够未初始化存储的列,以容纳指定固定宽度 data_typesize 个元素,带空值掩码。 更多...
 
std::unique_ptr< columncudf::make_strings_column (cudf::device_span< thrust::pair< char const *, size_type > const > strings, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 构造一个 STRING 类型的列,给定指针/大小对的设备 span。 更多...
 
std::vector< std::unique_ptr< column > > cudf::make_strings_column_batch (std::vector< cudf::device_span< thrust::pair< char const *, size_type > const >> const &input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 给定指针/大小对的设备 span 数组,构造一批 STRING 类型的列。 更多...
 
std::unique_ptr< columncudf::make_strings_column (cudf::device_span< string_view const > string_views, string_view const null_placeholder, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 给定 string_view 的设备 span,构造一个 STRING 类型的列。 更多...
 
std::unique_ptr< columncudf::make_strings_column (size_type num_strings, std::unique_ptr< column > offsets_column, rmm::device_buffer &&chars_buffer, size_type null_count, rmm::device_buffer &&null_mask)
 给定偏移量列、字符列、空值掩码和空值计数,构造一个 STRING 类型的列。 更多...
 
std::unique_ptr< cudf::columncudf::make_lists_column (size_type num_rows, std::unique_ptr< column > offsets_column, std::unique_ptr< column > child_column, size_type null_count, rmm::device_buffer &&null_mask, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 给定偏移量列、子列、空值掩码和空值计数,构造一个 LIST 类型的列。 更多...
 
std::unique_ptr< columncudf::make_empty_lists_column (data_type child_type, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 创建一个空的 LIST 列。 更多...
 
std::unique_ptr< cudf::columncudf::make_structs_column (size_type num_rows, std::vector< std::unique_ptr< column >> &&child_columns, size_type null_count, rmm::device_buffer &&null_mask, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 使用指定的子列作为成员构造 STRUCT 列。 更多...
 
std::unique_ptr< columncudf::make_column_from_scalar (scalar const &s, size_type size, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 构造一个包含 size 个元素的列,这些元素都等于给定的标量。 更多...
 
std::unique_ptr< columncudf::make_dictionary_from_scalar (scalar const &s, size_type size, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 构造一个包含 size 个元素的字典列,这些元素都等于给定的标量。 更多...
 
std::unique_ptr< columncudf::make_dictionary_column (column_view const &keys_column, column_view const &indices_column, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 通过复制提供的 keysindices 构造一个字典列。 更多...
 
std::unique_ptr< columncudf::make_dictionary_column (std::unique_ptr< column > keys_column, std::unique_ptr< column > indices_column, rmm::device_buffer &&null_mask, size_type null_count, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 通过获取提供的键列和索引列的所有权来构造字典列。 更多...
 
std::unique_ptr< columncudf::make_dictionary_column (std::unique_ptr< column > keys_column, std::unique_ptr< column > indices_column, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 通过获取提供的键列和索引列的所有权来构造字典列。 更多...
 

详细描述

函数文档

◆ make_column_from_scalar()

std::unique_ptr<column> cudf::make_column_from_scalar ( scalar const &  s,
size_type  size,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

构造一个包含 size 个元素的列,这些元素都等于给定的标量。

输出列将与 s.type() 具有相同的类型。如果 s.invalid()==false,输出列将包含所有空行。如果 size==0,输出列将为空。对于 LIST 标量,将保留来自 s 的列层次结构。

参数
[in]s用于列中值的标量。
[in]size输出列的行数。
[in]stream用于设备内存操作和内核启动的 CUDA stream。
[in]mr用于分配返回列的设备内存的设备内存资源。
返回值
构造的列,其所有行都包含标量值

◆ make_dictionary_column() [1/3]

std::unique_ptr<column> cudf::make_dictionary_column ( column_view const &  keys_column,
column_view const &  indices_column,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

通过复制提供的 keysindices 构造一个字典列。

预期 keys_column.has_nulls() == false。假定 keys_column 中的元素是唯一的并严格地按总顺序排列。也就是说,对于所有 i in [0,n-1),其中 n 是键的数量,keys_column[i] 排序在 keys_column[i+1] 之前。

索引值必须在 [0, keys_column.size()) 范围内。

输出列的 null_mask 和 null count 是从 indices 列复制的。如果 indices_column 中的元素 i 是 null,则返回的字典列中的元素 i 也将是 null。

k = ["a","c","d"]
i = [1,0,null,2,2]
d is now {["a","c","d"],[1,0,undefined,2,2]} bitmask={1,1,0,1,1}
std::unique_ptr< column > make_dictionary_column(column_view const &keys_column, column_view const &indices_column, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
通过复制提供的键和索引来构造一个字典列。

输出列的 null_mask 和 null count 从索引列复制。

异常
cudf::logic_error如果 keys_column 包含 null
cudf::logic_error如果 indices_column 类型不是 INT32
参数
keys_column用作新字典列的键的唯一、有序值列。
indices_column用于新字典列的索引。
stream用于设备内存操作和内核启动的 CUDA stream。
mr用于分配返回列的设备内存的设备内存资源。
返回值
新的字典列。

◆ make_dictionary_column() [2/3]

std::unique_ptr<column> cudf::make_dictionary_column ( std::unique_ptr< column keys_column,
std::unique_ptr< column indices_column,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

通过获取提供的键列和索引列的所有权来构造字典列。

keys_column 必须不包含 null,并且假定其元素是唯一的并严格地按总顺序排列。也就是说,对于所有 i in [0,n-1),其中 n 是键的数量,keys_column[i] 排序在 keys_column[i+1] 之前。

indices_column 可以是任何整数类型,并且应包含用于输出列的 null-mask。索引值必须在 [0, keys_column.size()) 范围内。

异常
cudf::logic_error如果 keys_column 包含 null
参数
keys_column用作新字典列的键的唯一、有序值列。
indices_column用于新字典列的索引值和 null-mask。
stream用于设备内存操作和内核启动的 CUDA stream。
mr用于分配返回列的设备内存的设备内存资源。
返回值
新的字典列。

◆ make_dictionary_column() [3/3]

std::unique_ptr<column> cudf::make_dictionary_column ( std::unique_ptr< column keys_column,
std::unique_ptr< column indices_column,
rmm::device_buffer &&  null_mask,
size_type  null_count,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

通过获取提供的键列和索引列的所有权来构造字典列。

keys_column 和 indices 列必须不包含 null。假定 keys_column 中的元素是唯一的并严格地按总顺序排列。也就是说,对于所有 i in [0,n-1),其中 n 是键的数量,keys_column[i] 排序在 keys_column[i+1] 之前。

索引值必须在 [0, keys_column.size()) 范围内。

异常
cudf::logic_error如果 keys_column 或 indices_column 包含 null
cudf::logic_error如果 indices_column 类型不是无符号整数类型
参数
keys_column用作新字典列的键的唯一、有序值列。
indices_column用于新字典列的索引。
null_mask输出列的 Null mask。
null_count输出列的 null 数量。
stream用于设备内存操作和内核启动的 CUDA stream。
mr用于分配返回列的设备内存的设备内存资源。
返回值
新的字典列。

◆ make_dictionary_from_scalar()

std::unique_ptr<column> cudf::make_dictionary_from_scalar ( scalar const &  s,
size_type  size,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

构造一个包含 size 个元素的字典列,这些元素都等于给定的标量。

输出列将具有类型为 s.type() 的键。如果 size==0,输出列将为空。

异常
cudf::logic_error如果 s.is_valid()==false
参数
[in]s用于列中值的标量。
[in]size输出列的行数。
[in]stream用于设备内存操作和内核启动的 CUDA stream。
[in]mr用于分配返回列的设备内存的设备内存资源。
返回值
构造的字典列

◆ make_duration_column() [1/2]

template<typename B >
std::unique_ptr<column> cudf::make_duration_column ( data_type  type,
size_type  size,
B &&  null_mask,
size_type  null_count,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

构造具有足够未初始化存储的列,以容纳指定时长 data_typesize 个元素,带空值掩码。

注意
null_count 是可选的,如果未提供,将计算出来。
异常
std::bad_alloc如果设备内存分配失败
cudf::logic_error如果 type 不是时长类型
参数
[in]type期望的时长元素类型
[in]size列中的元素数量
[in]null_mask用于此列的 null mask。
[in]null_countnull_mask 中的可选 null 数量。
[in]stream用于设备内存操作和内核启动的 CUDA stream。
[in]mr用于分配返回列的设备内存的设备内存资源
返回值
构造的时长类型列

定义在文件 column_factories.hpp273 行。

◆ make_duration_column() [2/2]

构造具有足够未初始化存储的列,以容纳指定时长 data_typesize 个元素,带可选空值掩码。

注意
null_count() 由请求的 null mask state 决定
异常
std::bad_alloc如果设备内存分配失败
cudf::logic_error如果 type 不是时长类型
cudf::logic_error如果 size < 0
参数
[in]type期望的时长元素类型
[in]size列中的元素数量
[in]state可选,控制列的 null mask 的分配/初始化。默认情况下,不分配 null mask。
[in]stream用于设备内存操作和内核启动的 CUDA stream。
[in]mr用于分配返回列的设备内存的设备内存资源
返回值
构造的时长类型列

◆ make_empty_column() [1/2]

std::unique_ptr<column> cudf::make_empty_column ( data_type  type)

创建指定 type 的空列。

空列包含零个元素,没有 validity mask。

参数
[in]type列数据类型
返回值
具有期望类型的空列

◆ make_empty_column() [2/2]

std::unique_ptr<column> cudf::make_empty_column ( type_id  id)

创建指定类型的空列。

空列包含零个元素,没有 validity mask。

参数
[in]id列类型 id
返回值
具有指定类型的空列

◆ make_empty_lists_column()

std::unique_ptr<column> cudf::make_empty_lists_column ( data_type  child_type,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

创建一个空的 LIST 列。

list 列需要一个子类型,因此不能使用 make_empty_column 创建。

参数
child_type用于空子列的类型
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
返回值
新的空列表列

◆ make_fixed_point_column() [1/2]

template<typename B >
std::unique_ptr<column> cudf::make_fixed_point_column ( data_type  type,
size_type  size,
B &&  null_mask,
size_type  null_count,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

构造具有足够未初始化存储的列,以容纳指定 fixed_point data_typesize 个元素,带空值掩码。

注意
null_count 是可选的,如果未提供,将计算出来。
异常
cudf::logic_error如果 type 不是 fixed_point 类型。
参数
[in]type期望的 fixed_point 元素类型。
[in]size列中的元素数量。
[in]null_mask用于此列的 null mask。
[in]null_countnull_mask 中的可选 null 数量。
[in]stream用于设备内存操作和内核启动的 CUDA stream。
[in]mr用于分配返回列的设备内存的设备内存资源。
返回值
构造的 fixed-point 类型列

定义在文件 column_factories.hpp155 行。

◆ make_fixed_point_column() [2/2]

std::unique_ptr<column> cudf::make_fixed_point_column ( data_type  type,
size_type  size,
mask_state  state = mask_state::UNALLOCATED,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

构造具有足够未初始化存储的列,以容纳指定 fixed_point data_typesize 个元素,带可选空值掩码。

注意
列的 null count 由请求的 null mask state 决定。
异常
cudf::logic_error如果 type 不是 fixed_point 类型。
cudf::logic_error如果 size < 0
参数
[in]type期望的 fixed_point 元素类型。
[in]size列中的元素数量。
[in]state可选,控制列的 null mask 的分配/初始化。默认情况下,不分配 null mask。
[in]stream用于设备内存操作和内核启动的 CUDA stream。
[in]mr用于分配返回列的设备内存的设备内存资源。
返回值
构造的 fixed-point 类型列

◆ make_fixed_width_column() [1/2]

template<typename B >
std::unique_ptr<column> cudf::make_fixed_width_column ( data_type  type,
size_type  size,
B &&  null_mask,
size_type  null_count,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

构造具有足够未初始化存储的列,以容纳指定固定宽度 data_typesize 个元素,带空值掩码。

注意
null_count 是可选的,如果未提供,将计算出来。
异常
std::bad_alloc如果设备内存分配失败
cudf::logic_error如果 type 不是固定宽度类型
参数
[in]type期望的固定宽度元素类型
[in]size列中的元素数量
[in]null_mask用于此列的 null mask。
[in]null_countnull_mask 中的可选 null 数量。
[in]stream用于设备内存操作和内核启动的 CUDA stream。
[in]mr用于分配返回列的设备内存的设备内存资源
返回值
构造的固定宽度类型列

定义在文件 column_factories.hpp332 行。

◆ make_fixed_width_column() [2/2]

std::unique_ptr<column> cudf::make_fixed_width_column ( data_type  type,
size_type  size,
mask_state  state = mask_state::UNALLOCATED,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

构造具有足够未初始化存储的列,以容纳指定固定宽度 data_typesize 个元素,带可选空值掩码。

注意
null_count() 由请求的 null mask state 决定
异常
std::bad_alloc如果设备内存分配失败
cudf::logic_error如果 type 不是固定宽度类型
cudf::logic_error如果 size < 0
参数
[in]type期望的固定宽度类型
[in]size列中的元素数量
[in]state可选,控制列的 null mask 的分配/初始化。默认情况下,不分配 null mask。
[in]stream用于设备内存操作和内核启动的 CUDA stream。
[in]mr用于分配返回列的设备内存的设备内存资源
返回值
构造的固定宽度类型列

◆ make_lists_column()

std::unique_ptr<cudf::column> cudf::make_lists_column ( size_type  num_rows,
std::unique_ptr< column offsets_column,
std::unique_ptr< column child_column,
size_type  null_count,
rmm::device_buffer &&  null_mask,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

给定偏移量列、子列、空值掩码和空值计数,构造一个 LIST 类型的列。

列和掩码被移入结果列表列。

列表列的结构类似于字符串列。它们包含一组偏移量,表示每行中列表的长度,以及一个由偏移量引用的数据“子列”。由于列表是嵌套类型,子列本身可能进一步嵌套。

当深度 N+1 的子列本身是一个列表时,深度 N 的偏移量列引用深度 N+1 的偏移量列。当深度 N+1 的子列是叶子类型(int, float 等)时,深度 N 的偏移量列引用深度 N+1 的数据。

示例
List<int>
input: {{1, 2}, {3, 4, 5}}
偏移量 (深度 0) {0, 2, 5}
数据 (深度 0)
偏移量 (深度 1)
数据 (深度 1) {1, 2, 3, 4, 5}
示例
List<List<int>>
input: { {{1, 2}}, {{3, 4, 5}, {6, 7}} }
偏移量 (深度 0) {0, 1, 3}
数据 (深度 0)
偏移量 (深度 1) {0, 2, 5, 7}
数据 (深度 1)
偏移量 (深度 2)
数据 (深度 2) {1, 2, 3, 4, 5, 6, 7}
参数
[in]num_rows列表示的列表数量。
[in]offsets_column此列的偏移值列。每个值应表示对应于行开头的子元素中的起始偏移量,第一行从 0 开始。行 N 的长度可以通过减去 offsets[N+1] - offsets[N] 来确定。偏移量的总数应比列中的行数多 1。
[in]child_columnoffsets_column 表示的列表引用的嵌套数据列。注意:子列本身可能进一步嵌套。
[in]null_countnull 列表条目数量。
[in]null_mask设备内存中指定 null 列表的位。null 的 Arrow 格式用于解释此位掩码。
[in]stream用于所有内存分配和设备内核的可选 stream
[in]mr用于列的 null_mask 和子列的设备内存分配的可选资源。
返回值
构造的列表列

◆ make_numeric_column() [1/2]

template<typename B >
std::unique_ptr<column> cudf::make_numeric_column ( data_type  type,
size_type  size,
B &&  null_mask,
size_type  null_count,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

构造具有足够未初始化存储的列,以容纳指定数字 data_typesize 个元素,带空值掩码。

注意
null_count 是可选的,如果未提供,将计算出来。
异常
std::bad_alloc如果设备内存分配失败
cudf::logic_error如果 type 不是数字类型
参数
[in]type期望的数字元素类型
[in]size列中的元素数量
[in]null_mask用于此列的 null mask。
[in]null_countnull_mask 中的可选 null 数量。
[in]stream用于设备内存操作和内核启动的 CUDA stream。
[in]mr用于分配返回列的设备内存的设备内存资源
返回值
构造的数字列

定义在文件 column_factories.hpp98 行。

◆ make_numeric_column() [2/2]

构造具有足够未初始化存储的列,以容纳指定数字 data_typesize 个元素,带可选空值掩码。

注意
null_count() 由请求的 null mask state 决定
异常
std::bad_alloc如果设备内存分配失败
cudf::logic_error如果 type 不是数字类型
cudf::logic_error如果 size < 0
参数
[in]type期望的数字元素类型
[in]size列中的元素数量
[in]state可选,控制列的 null mask 的分配/初始化。默认情况下,不分配 null mask。
[in]stream用于设备内存操作和内核启动的 CUDA stream。
[in]mr用于分配返回列的设备内存的设备内存资源
返回值
构造的数字列

◆ make_strings_column() [1/3]

std::unique_ptr<column> cudf::make_strings_column ( cudf::device_span< string_view const >  string_views,
string_view const  null_placeholder,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

给定 string_view 的设备 span,构造一个 STRING 类型的列。

字符字节的总数不得超过 size_type 的最大大小。字符串字符应为 UTF-8 编码的字符字节序列。使用 strings_column_view 类对此类型的列执行字符串操作。

注意
对于每个 string_view,如果 .data()null_placeholder.data(),则该字符串被视为 null。类似地,如果 .data() 不是 null_placeholder.data().size_bytes() 为 0,则该字符串被视为空(非 null)。否则,.data() 必须是有效的设备地址,指向 .size_bytes() 个连续字节。输出列的 null_count() 将等于输入中 null 的 string_view 数量。
异常
std::bad_alloc如果设备内存分配失败
参数
[in]string_viewsstring_view 的 span。每个 string_view 必须指向设备内存地址或 null_placeholder(表示 null 字符串)。大小必须是字节数。
[in]null_placeholder在给定的 string_views 列表中表示 null 字符串的 string_view
[in]stream用于设备内存操作和内核启动的 CUDA stream。
[in]mr用于分配列的 null_mask 和子列设备内存的设备内存资源。
返回值
构造的字符串列

◆ make_strings_column() [2/3]

std::unique_ptr<column> cudf::make_strings_column ( cudf::device_span< thrust::pair< char const *, size_type > const >  strings,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

给定指针/大小对的设备 span,构造一个 STRING 类型的列。

字符字节的总数不得超过 size_type 的最大大小。字符串字符应为 UTF-8 编码的字符字节序列。使用 strings_column_view 类对此类型的列执行字符串操作。

注意
如果一对包含 null 字符串,则确定 null_count()null_bitmask。也就是说,对于每一对,如果 .first 是 null,则该字符串被视为 null。类似地,如果 .first 非 null 且 .second 为 0,则该字符串被视为空(非 null)。否则,.first 成员必须是有效的设备地址,指向 .second 个连续字节。
异常
std::bad_alloc如果设备内存分配失败
参数
[in]strings指针/大小对的设备 span。每个指针必须是设备内存地址或 nullptr(表示 null 字符串)。大小必须是字节数。
[in]stream用于设备内存操作和内核启动的 CUDA stream。
[in]mr用于分配列的 null_mask 和子列设备内存的设备内存资源。
返回值
构造的字符串列

◆ make_strings_column() [3/3]

std::unique_ptr<column> cudf::make_strings_column ( size_type  num_strings,
std::unique_ptr< column offsets_column,
rmm::device_buffer &&  chars_buffer,
size_type  null_count,
rmm::device_buffer &&  null_mask 
)

给定偏移量列、字符列、空值掩码和空值计数,构造一个 STRING 类型的列。

列和掩码被移入结果字符串列。

参数
num_strings列表示的字符串数量。
offsets_column此列的偏移值列。元素数量比字符串总数多一个,因此 offset[last] - offset[0] 是字符串向量中的总字节数。
chars_buffer此列所有字符串的字符字节缓冲区。各个字符串通过偏移量和 nullmask 标识。
null_countnull 字符串条目数量。
null_mask设备内存中指定 null 字符串的位。null 的 Arrow 格式用于解释此位掩码。
返回值
构造的字符串列

◆ make_strings_column_batch()

std::vector<std::unique_ptr<column> > cudf::make_strings_column_batch ( std::vector< cudf::device_span< thrust::pair< char const *, size_type > const >> const &  input,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

给定指针/大小对的设备 span 数组,构造一批 STRING 类型的列。

此函数具有类似于接受单个指针/大小对设备 span 的 make_strings_column() API 的输入/输出预期。区别在于,此函数旨在一次创建多个字符串列,最大限度地减少多次内核启动和 stream 同步的开销。

参数
input指针/大小对的设备 span 数组,其中每个指针是设备内存地址或 nullptr(表示 null 字符串),大小是字符串长度(以字节为单位)
stream用于设备内存操作和内核启动的 CUDA stream
mr用于输出列内存分配的设备内存资源
返回值
构造的字符串列数组

◆ make_structs_column()

std::unique_ptr<cudf::column> cudf::make_structs_column ( size_type  num_rows,
std::vector< std::unique_ptr< column >> &&  child_columns,
size_type  null_count,
rmm::device_buffer &&  null_mask,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

使用指定的子列作为成员构造 STRUCT 列。

指定的子/成员列和 null_mask 被结果结构列采用。

struct 列要求所有指定的子列具有相同的行数。struct 列的行数等于其任意/所有子列的行数。任何索引处的单个 struct 行都由子列列表中指定顺序的相同索引处的各个子列值组成。

指定的 null mask 控制哪些 struct 行具有 null 值。这与各个子列的 null 值正交。

参数
[in]num_rowsstruct 列中的 struct 值数量。
[in]child_columnsstruct 组成的子/成员列表。
[in]null_countstruct 列中的 null 值数量。
[in]null_mask列中指定 null struct 值的位。
[in]stream用于所有内存分配和设备内核的可选 stream。
[in]mr用于设备内存分配的可选资源。
返回值
构造的 struct 列

◆ make_timestamp_column() [1/2]

template<typename B >
std::unique_ptr<column> cudf::make_timestamp_column ( data_type  type,
size_type  size,
B &&  null_mask,
size_type  null_count,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

构造具有足够未初始化存储的列,以容纳指定时间戳 data_typesize 个元素,带空值掩码。

注意
null_count 是可选的,如果未提供,将计算出来。
异常
std::bad_alloc如果设备内存分配失败
cudf::logic_error如果 type 不是时间戳类型
参数
[in]type期望的时间戳元素类型
[in]size列中的元素数量
[in]null_mask用于此列的 null mask。
[in]null_countnull_mask 中的可选 null 数量。
[in]stream用于设备内存操作和内核启动的 CUDA stream。
[in]mr用于分配返回列的设备内存的设备内存资源
返回值
构造的时间戳类型列

定义在文件 column_factories.hpp214 行。

◆ make_timestamp_column() [2/2]

构造具有足够未初始化存储的列,以容纳指定时间戳 data_typesize 个元素,带可选空值掩码。

注意
null_count() 由请求的 null mask state 决定
异常
std::bad_alloc如果设备内存分配失败
cudf::logic_error如果 type 不是时间戳类型
cudf::logic_error如果 size < 0
参数
[in]type期望的时间戳元素类型
[in]size列中的元素数量
[in]state可选,控制列的 null mask 的分配/初始化。默认情况下,不分配 null mask。
[in]stream用于设备内存操作和内核启动的 CUDA stream。
[in]mr用于分配返回列的设备内存的设备内存资源
返回值
构造的时间戳类型列