Io 写入器#
- group io_writers
函数
-
void write_csv(csv_writer_options const &options, rmm::cuda_stream_view stream = cudf::get_default_stream())#
将一组列写入CSV格式。
以下代码片段演示了如何将列写入文件:
auto destination = cudf::io::sink_info("dataset.csv"); auto options = cudf::io::csv_writer_options(destination, table->view()) .na_rep(na) .include_header(include_header) .rows_per_chunk(rows_per_chunk); cudf::io::write_csv(options);
- Parameters:
options – 用于控制写入行为的设置
stream – 用于设备内存操作和内核启动的CUDA流
-
void write_json(json_writer_options const &options, rmm::cuda_stream_view stream = cudf::get_default_stream())#
将一组列写入JSON格式。
以下代码片段演示了如何将列写入文件:
auto destination = cudf::io::sink_info("dataset.json"); auto options = cudf::io::json_writer_options(destination, table->view()) .na_rep(na) .lines(lines) .rows_per_chunk(rows_per_chunk); cudf::io::write_json(options);
- Parameters:
options – 用于控制写入行为的设置
stream – 用于设备内存操作和内核启动的CUDA流
-
void write_orc(orc_writer_options const &options, rmm::cuda_stream_view stream = cudf::get_default_stream())#
将一组列写入ORC格式。
以下代码片段演示了如何将列写入文件:
auto destination = cudf::io::sink_info("dataset.orc"); auto options = cudf::io::orc_writer_options::builder(destination, table->view()); cudf::io::write_orc(options);
- Parameters:
options – 用于控制读取行为的设置
stream – 用于设备内存操作和内核启动的CUDA流
-
std::unique_ptr<std::vector<uint8_t>> write_parquet(parquet_writer_options const &options, rmm::cuda_stream_view stream = cudf::get_default_stream())#
将一组列写入parquet格式。
以下代码片段演示了如何将列写入文件:
auto destination = cudf::io::sink_info("dataset.parquet"); auto options = cudf::io::parquet_writer_options::builder(destination, table->view()); cudf::io::write_parquet(options);
- Parameters:
options – 用于控制写入行为的设置
stream – 用于设备内存操作和内核启动的CUDA流
- Returns:
如果请求在parquet_writer_options中,则包含文件元数据的blob(parquet FileMetadata thrift消息)(否则为空blob)。
-
std::unique_ptr<std::vector<uint8_t>> merge_row_group_metadata(std::vector<std::unique_ptr<std::vector<uint8_t>>> const &metadata_list)#
将之前由write_parquet创建的多个原始元数据块合并为一个元数据块。
- Parameters:
metadata_list – [in] 输入文件元数据列表
- Returns:
一个与parquet兼容的blob,包含列表中所有行组的数据
变量
-
static constexpr statistics_freq ORC_STATISTICS_STRIPE = statistics_freq::STATISTICS_ROWGROUP#
用于消除ORC统计术语歧义的常量。
ORC 将其最细粒度的行分组称为“行组”,这对应于 Parquet 的“页”。同样,ORC 的“条带”对应于 Parquet 的“行组”。以下常量用于消除在每个级别收集的统计数据的术语歧义。
-
static constexpr statistics_freq ORC_STATISTICS_ROW_GROUP = statistics_freq::STATISTICS_PAGE#
-
class csv_writer_options#
- #include <csv.hpp>
用于
write_csv()的设置。公共函数
-
explicit csv_writer_options() = default#
默认构造函数。
由于Cython需要一个默认构造函数来在栈上创建对象,因此已添加此内容。
-
inline table_view const &get_table() const#
返回将写入输出的表。
- Returns:
将写入输出的表格
-
inline std::vector<std::string> const &get_names() const#
返回列的名称。
- Returns:
输出文件中的列名
-
inline std::string get_na_rep() const#
返回用于空条目的字符串。
- Returns:
用于空条目的字符串
-
inline bool is_enabled_include_header() const#
是否将标题写入csv。
- Returns:
true如果要将标题写入csv
-
inline std::string get_line_terminator() const#
返回用于分隔行的字符。
- Returns:
用于分隔行的字符
-
inline char get_inter_column_delimiter() const#
返回用于分隔列值的字符。
- Returns:
用于分隔列值的字符。
-
inline std::string get_true_value() const#
返回用于INT8类型中值不为0的字符串。
- Returns:
用于INT8类型中值不为0的字符串
-
inline std::string get_false_value() const#
返回用于INT8类型中值等于0的字符串。
- Returns:
用于INT8类型中值等于0的字符串
-
inline quote_style get_quoting() const#
返回写入器的引用样式。
注意:仅支持MINIMAL和NONE。
最小化:包含特殊字符(如行分隔符、字段分隔符/引号)的字符串列将被引用。
NONE: 不对任何列进行引用。
- Returns:
quote_style 写入器的引用样式
-
inline void set_names(std::vector<std::string> names)#
设置可选的关联列名。
- Parameters:
names – 关联的列名
-
inline void set_na_rep(std::string val)#
设置用于空条目的字符串。
- Parameters:
val – 用于表示空值的字符串
-
inline void enable_include_header(bool val)#
启用/禁用将标题写入csv。
- Parameters:
val – 用于启用/禁用的布尔值
-
inline void set_line_terminator(std::string term)#
设置用于分隔行的字符。
- Parameters:
term – 表示行终止的字符
-
inline void set_inter_column_delimiter(char delim)#
设置用于分隔列值的字符。
- Parameters:
delim – 用于分隔列值的字符
-
inline void set_true_value(std::string val)#
设置用于INT8类型中值不等于0的字符串。
- Parameters:
val – 用于表示 INT8 类型中不等于 0 的值的字符串
-
inline void set_false_value(std::string val)#
设置用于INT8类型中值等于0的字符串。
- Parameters:
val – 用于表示 INT8 类型中值为 0 的字符串
-
inline void set_table(table_view const &table)#
(重新)设置正在写入的表。
- Parameters:
table – 要写入的表
-
inline void set_quoting(quote_style quoting)#
设置写入器的引用样式。
注意:仅支持以下引用样式:
MINIMAL: 包含特殊字符(如行分隔符/字段分隔符/引号)的字符串列将被引用。
NONE: 不对任何列进行引用。
- Parameters:
quoting – 写入器的新 quote_style。
公共静态函数
-
static csv_writer_options_builder builder(sink_info const &sink, table_view const &table)#
创建构建器以创建
csv_writer_options。- Parameters:
sink – 用于写入器输出的接收器
table – 要写入输出的表
- Returns:
用于构建 csv_writer_options 的构建器
-
explicit csv_writer_options() = default#
-
class csv_writer_options_builder#
- #include <csv.hpp>
用于构建
writer_csv()选项的构建器公共函数
-
explicit csv_writer_options_builder() = default#
默认构造函数。
由于Cython需要一个默认构造函数来在栈上创建对象,因此已添加此内容。
-
inline explicit csv_writer_options_builder(sink_info const &sink, table_view const &table)#
从接收器和表构建构造函数。
- Parameters:
sink – 用于写入器输出的接收器
table – 要写入输出的表
-
inline csv_writer_options_builder &names(std::vector<std::string> names)#
设置可选的列名。
- Parameters:
names – 列名
- Returns:
这是用于链式操作
-
inline csv_writer_options_builder &na_rep(std::string val)#
设置用于空条目的字符串。
- Parameters:
val – 用于表示空值的字符串
- Returns:
这是用于链式操作
-
inline csv_writer_options_builder &include_header(bool val)#
启用/禁用将标题写入csv。
- Parameters:
val – 用于启用/禁用的布尔值
- Returns:
这是用于链式操作
-
inline csv_writer_options_builder &rows_per_chunk(int val)#
设置每次文件写入时处理的最大行数。
- Parameters:
val – 每块的行数
- Returns:
这是用于链式操作
-
inline csv_writer_options_builder &line_terminator(std::string term)#
设置用于分隔行的字符。
- Parameters:
term – 表示行终止的字符
- Returns:
这是用于链式操作
-
inline csv_writer_options_builder &inter_column_delimiter(char delim)#
设置用于分隔列值的字符。
- Parameters:
delim – 用于分隔列值的字符
- Returns:
这是用于链式操作
-
inline csv_writer_options_builder &true_value(std::string val)#
设置用于INT8类型中值不等于0的字符串。
- Parameters:
val – 用于表示 INT8 类型中不等于 0 的值的字符串
- Returns:
这是用于链式操作
-
inline csv_writer_options_builder &false_value(std::string val)#
设置用于INT8类型中值等于0的字符串。
- Parameters:
val – 用于表示 INT8 类型中值为 0 的字符串
- Returns:
这是用于链式操作
-
inline csv_writer_options_builder "ing(quote_style quoting)#
设置写入器的引用样式。
仅支持MINIMAL和NONE。
- Parameters:
quoting – 写入器的新引用样式。
- Returns:
这是用于链式操作
-
inline operator csv_writer_options&&()#
一旦构建完成,移动
csv_writer_options成员。
-
inline csv_writer_options &&build()#
一旦构建完成,移动
csv_writer_options成员。由于Cython不支持转换运算符的重载,因此已添加此内容。
- Returns:
构建了
csv_writer_options对象的右值引用
-
explicit csv_writer_options_builder() = default#
-
class json_writer_options#
- #include <json.hpp>
用于
write_json()的设置。公共函数
-
explicit json_writer_options() = default#
默认构造函数。
由于Cython需要一个默认构造函数来在栈上创建对象,因此已添加此内容。
-
inline table_view const &get_table() const#
返回将写入输出的表。
- Returns:
将写入输出的表格
-
inline std::optional<table_metadata> const &get_metadata() const#
返回元数据信息。
- Returns:
元数据信息
-
inline std::string const &get_na_rep() const#
返回用于空条目的字符串。
- Returns:
用于空条目的字符串
-
inline compression_type get_compression() const#
返回用于接收器的压缩类型。
- Returns:
sink的压缩类型
-
inline bool is_enabled_include_nulls() const#
是否将空值输出为‘null’。
- Returns:
true如果空值输出为‘null’
-
inline bool is_enabled_lines() const#
是否使用JSON行作为记录格式。
- Returns:
true如果使用JSON行作为记录格式
-
inline std::string const &get_true_value() const#
返回用于INT8类型中值不为0的字符串。
- Returns:
用于INT8类型中值不为0的字符串
-
inline std::string const &get_false_value() const#
返回用于INT8类型中值等于0的字符串。
- Returns:
用于INT8类型中值等于0的字符串
-
inline void set_table(table_view tbl)#
设置要写入输出的表。
- Parameters:
tbl – 输出的表格
-
inline void set_compression(compression_type comptype)#
设置要使用的压缩类型。
- Parameters:
comptype – 用于接收器的压缩类型
-
inline void set_metadata(table_metadata metadata)#
设置元数据。
- Parameters:
metadata – 关联的元数据
-
inline void set_na_rep(std::string val)#
设置用于空条目的字符串。
- Parameters:
val – 用于表示空值的字符串
-
inline void enable_include_nulls(bool val)#
启用/禁用将空值输出为‘null’。
- Parameters:
val – 用于启用/禁用的布尔值
-
inline void enable_lines(bool val)#
启用/禁用记录格式的JSON行。
- Parameters:
val – 布尔值,用于启用/禁用 JSON 行
-
inline void set_true_value(std::string val)#
设置用于INT8类型中值不等于0的字符串。
- Parameters:
val – 用于表示 INT8 类型中不等于 0 的值的字符串
-
inline void set_false_value(std::string val)#
设置用于INT8类型中值等于0的字符串。
- Parameters:
val – 用于表示 INT8 类型中值为 0 的字符串
公共静态函数
-
static json_writer_options_builder builder(sink_info const &sink, table_view const &table)#
创建构建器以创建
json_writer_options。- Parameters:
sink – 用于写入器输出的接收器
table – 要写入输出的表
- Returns:
用于构建 json_writer_options 的构建器
-
explicit json_writer_options() = default#
-
class json_writer_options_builder#
- #include <json.hpp>
用于构建
writer_json()选项的构建器公共函数
-
explicit json_writer_options_builder() = default#
默认构造函数。
由于Cython需要一个默认构造函数来在栈上创建对象,因此已添加此内容。
-
inline explicit json_writer_options_builder(sink_info const &sink, table_view const &table)#
从接收器和表构建构造函数。
- Parameters:
sink – 用于写入器输出的接收器
table – 要写入输出的表
-
inline json_writer_options_builder &table(table_view tbl)#
设置要写入输出的表。
- Parameters:
tbl – 输出的表格
- Returns:
这是用于链式操作
-
inline json_writer_options_builder &compression(compression_type comptype)#
设置输出接收器的压缩类型。
- Parameters:
comptype – 使用的压缩类型
- Returns:
这是用于链式操作
-
inline json_writer_options_builder &metadata(table_metadata metadata)#
设置可选的元数据(包含列名)。
- Parameters:
metadata – 元数据(包含列名)
- Returns:
这是用于链式操作
-
inline json_writer_options_builder &na_rep(std::string val)#
设置用于空条目的字符串。
- Parameters:
val – 用于表示空值的字符串
- Returns:
这是用于链式操作
-
inline json_writer_options_builder &include_nulls(bool val)#
启用/禁用将空值输出为‘null’。
- Parameters:
val – 用于启用/禁用的布尔值
- Returns:
这是用于链式操作
-
inline json_writer_options_builder &lines(bool val)#
启用/禁用记录格式的JSON行。
- Parameters:
val – 用于启用/禁用的布尔值
- Returns:
这是用于链式操作
-
inline json_writer_options_builder &rows_per_chunk(int val)#
设置每次文件写入时处理的最大行数。
- Parameters:
val – 每块的行数
- Returns:
这是用于链式操作
-
inline json_writer_options_builder &true_value(std::string val)#
设置用于INT8类型中值不等于0的字符串。
- Parameters:
val – 用于表示 INT8 类型中不等于 0 的值的字符串
- Returns:
这是用于链式操作
-
inline json_writer_options_builder &false_value(std::string val)#
设置用于INT8类型中值等于0的字符串。
- Parameters:
val – 用于表示 INT8 类型中值为 0 的字符串
- Returns:
这是用于链式操作
-
inline operator json_writer_options&&()#
一旦构建完成,移动
json_writer_options成员。
-
inline json_writer_options &&build()#
一旦构建完成,移动
json_writer_options成员。由于Cython不支持转换运算符的重载,因此已添加此内容。
- Returns:
构建了
json_writer_options对象的右值引用
-
explicit json_writer_options_builder() = default#
-
class orc_writer_options#
- #include <orc.hpp>
用于
write_orc()的设置。公共函数
-
explicit orc_writer_options() = default#
默认构造函数。
由于Cython需要一个默认构造函数来在栈上创建对象,因此已添加此内容。
-
inline compression_type get_compression() const#
返回压缩类型。
- Returns:
压缩类型
-
inline bool is_enabled_statistics() const#
是否启用/禁用写入列统计信息。
- Returns:
true如果启用了写入列统计信息
-
inline statistics_freq get_statistics_freq() const#
返回统计信息收集的频率。
- Returns:
统计收集的频率
-
inline auto get_stripe_size_bytes() const#
返回最大条带大小,以字节为单位。
- Returns:
最大条带大小,以字节为单位
-
inline auto get_stripe_size_rows() const#
返回最大条带大小,以行为单位。
- Returns:
最大条带大小,以行数为单位
-
inline auto get_row_index_stride() const#
返回行索引步幅。
- Returns:
行索引步长
-
inline table_view get_table() const#
返回要写入输出的表。
- Returns:
要写入输出的表
-
inline auto const &get_metadata() const#
返回关联的元数据。
- Returns:
关联的元数据
-
inline std::map<std::string, std::string> const &get_key_value_metadata() const#
返回键值页脚元数据信息。
- Returns:
键值页脚元数据信息
-
inline std::shared_ptr<writer_compression_statistics> get_compression_statistics() const#
返回一个指向用户提供的压缩统计信息的共享指针。
- Returns:
压缩统计
-
inline bool get_enable_dictionary_sort() const#
返回字符串字典是否应该排序。
- Returns:
true如果字符串字典应该被排序
-
inline void set_compression(compression_type comp)#
设置压缩类型。
- Parameters:
comp – 压缩类型
-
inline void enable_statistics(statistics_freq val)#
选择统计收集的粒度。
粒度可以设置为:
cudf::io::STATISTICS_NONE: 不收集任何统计信息。
cudf::io::ORC_STATISTICS_STRIPE: 统计信息是为每个ORC条带收集的。
cudf::io::ORC_STATISTICS_ROWGROUP: 为每个ORC行组收集统计信息。
- Parameters:
val – 统计收集的频率
-
inline void set_stripe_size_bytes(size_t size_bytes)#
设置最大条带大小,以字节为单位。
- Parameters:
size_bytes – 要设置的最大条带大小,单位为字节
- Throws:
cudf::logic_error – 如果传递的值小于最小大小
-
inline void set_stripe_size_rows(size_type size_rows)#
设置最大条带大小,以行为单位。
如果条带大小小于行组大小,行组大小将减小以匹配条带大小。
- Parameters:
size_rows – 最大条带大小,以行数为单位设置
- Throws:
cudf::logic_error – 如果传递的值小于最小行数
-
inline void set_row_index_stride(size_type stride)#
设置行索引步幅。
向下舍入到8的倍数。
- Parameters:
stride – 要设置的行索引步长
- Throws:
cudf::logic_error – 如果传递的值低于最小行索引步幅
-
inline void set_table(table_view tbl)#
设置要写入输出的表。
- Parameters:
tbl – 输出的表格
-
inline void set_metadata(table_input_metadata meta)#
设置关联的元数据。
- Parameters:
meta – 关联的元数据
-
inline void set_key_value_metadata(std::map<std::string, std::string> metadata)#
设置元数据。
- Parameters:
metadata – 键值对页脚元数据
设置指向输出压缩统计信息的指针。
- Parameters:
comp_stats – 指向在写入后需要更新的压缩统计数据的指针
-
inline void set_enable_dictionary_sort(bool val)#
设置是否应对字符串字典进行排序。
- Parameters:
val – 用于启用/禁用的布尔值
公共静态函数
-
static orc_writer_options_builder builder(sink_info const &sink, table_view const &table)#
创建构建器以创建
orc_writer_options。- Parameters:
sink – 用于写入器输出的接收器
table – 要写入输出的表
- Returns:
用于构建
orc_writer_options的构建器
-
explicit orc_writer_options() = default#
-
class orc_writer_options_builder#
- #include <orc.hpp>
构建用于
write_orc()的设置。公共函数
-
orc_writer_options_builder() = default#
默认构造函数。
由于Cython需要一个默认构造函数来在栈上创建对象,因此已添加此内容。
-
inline orc_writer_options_builder(sink_info const &sink, table_view const &table)#
从接收器和表构建构造函数。
- Parameters:
sink – 用于写入器输出的接收器
table – 要写入输出的表
-
inline orc_writer_options_builder &compression(compression_type comp)#
设置压缩类型。
- Parameters:
comp – 使用的压缩类型
- Returns:
这是用于链式操作
-
inline orc_writer_options_builder &enable_statistics(statistics_freq val)#
选择要写入的列统计信息的粒度。
粒度可以设置为:
cudf::io::STATISTICS_NONE: 不收集任何统计信息。
cudf::io::ORC_STATISTICS_STRIPE: 统计信息是为每个ORC条带收集的。
cudf::io::ORC_STATISTICS_ROWGROUP: 为每个ORC行组收集统计信息。
- Parameters:
val – 统计收集的级别
- Returns:
这是用于链式操作
-
inline orc_writer_options_builder &stripe_size_bytes(size_t val)#
设置最大条带大小,以字节为单位。
- Parameters:
val – 最大条带大小
- Returns:
这是用于链式操作
-
inline orc_writer_options_builder &stripe_size_rows(size_type val)#
设置输出条带中的最大行数。
- Parameters:
val – 最大行数
- Returns:
这是用于链式操作
-
inline orc_writer_options_builder &row_index_stride(size_type val)#
设置行索引步幅。
- Parameters:
val – 新行索引步幅
- Returns:
这是用于链式操作
-
inline orc_writer_options_builder &table(table_view tbl)#
设置要写入输出的表。
- Parameters:
tbl – 输出的表格
- Returns:
这是用于链式操作
-
inline orc_writer_options_builder &metadata(table_input_metadata meta)#
设置关联的元数据。
- Parameters:
meta – 关联的元数据
- Returns:
这是用于链式操作
-
inline orc_writer_options_builder &key_value_metadata(std::map<std::string, std::string> metadata)#
设置键值页脚元数据。
- Parameters:
metadata – 键值对页脚元数据
- Returns:
这是用于链式操作
设置指向输出压缩统计信息的指针。
- Parameters:
comp_stats – 指向压缩统计信息的指针,一旦写入器完成,将填充这些统计信息
- Returns:
这是用于链式操作
-
inline orc_writer_options_builder &enable_dictionary_sort(bool val)#
设置是否应对字符串字典进行排序。
- Parameters:
val – 用于启用/禁用的布尔值
- Returns:
这是用于链式操作
-
inline operator orc_writer_options&&()#
一旦构建完成,移动 orc_writer_options 成员。
-
inline orc_writer_options &&build()#
一旦构建完成,移动 orc_writer_options 成员。
由于Cython不支持转换运算符的重载,因此已添加此内容。
- Returns:
构建了
orc_writer_options对象的右值引用
-
orc_writer_options_builder() = default#
-
class chunked_orc_writer_options#
- #include <orc.hpp>
用于
write_orc_chunked()的设置。公共函数
-
explicit chunked_orc_writer_options() = default#
默认构造函数。
由于Cython需要一个默认构造函数来在栈上创建对象,因此已添加此内容。
-
inline compression_type get_compression() const#
返回压缩类型。
- Returns:
压缩类型
-
inline statistics_freq get_statistics_freq() const#
返回统计信息收集的粒度。
- Returns:
统计收集的粒度
-
inline auto get_stripe_size_bytes() const#
返回最大条带大小,以字节为单位。
- Returns:
最大条带大小,以字节为单位
-
inline auto get_stripe_size_rows() const#
返回最大条带大小,以行为单位。
- Returns:
最大条带大小,以行数为单位
-
inline auto get_row_index_stride() const#
返回行索引步幅。
- Returns:
行索引步长
-
inline auto const &get_metadata() const#
返回关联的元数据。
- Returns:
关联的元数据
-
inline std::map<std::string, std::string> const &get_key_value_metadata() const#
返回键值页脚元数据信息。
- Returns:
键值页脚元数据信息
-
inline std::shared_ptr<writer_compression_statistics> get_compression_statistics() const#
返回一个指向用户提供的压缩统计信息的共享指针。
- Returns:
压缩统计
-
inline bool get_enable_dictionary_sort() const#
返回字符串字典是否应该排序。
- Returns:
true如果字符串字典应该被排序
-
inline void set_compression(compression_type comp)#
设置压缩类型。
- Parameters:
comp – 使用的压缩类型
-
inline void enable_statistics(statistics_freq val)#
选择统计收集的粒度。
粒度可以设置为:
cudf::io::STATISTICS_NONE: 不收集任何统计信息。
cudf::io::ORC_STATISTICS_STRIPE: 统计信息是为每个ORC条带收集的。
cudf::io::ORC_STATISTICS_ROWGROUP: 为每个ORC行组收集统计信息。
- Parameters:
val – 统计收集的频率
-
inline void set_stripe_size_bytes(size_t size_bytes)#
设置最大条带大小,以字节为单位。
- Parameters:
size_bytes – 要设置的最大条带大小,单位为字节
- Throws:
cudf::logic_error – 如果传递的值小于最小条带大小
-
inline void set_stripe_size_rows(size_type size_rows)#
设置最大条带大小,以行为单位。
如果条带大小小于行组大小,行组大小将减小以匹配条带大小。
- Parameters:
size_rows – 最大条带大小,以行数为单位设置
- Throws:
cudf::logic_error – 如果传递的值低于条带中的最小行数
-
inline void set_row_index_stride(size_type stride)#
设置行索引步幅。
向下舍入到8的倍数。
- Parameters:
stride – 要设置的行索引步长
- Throws:
cudf::logic_error – 如果传递的值低于行组中的最小行数
-
inline void metadata(table_input_metadata meta)#
设置关联的元数据。
- Parameters:
meta – 关联的元数据
-
inline void set_key_value_metadata(std::map<std::string, std::string> metadata)#
设置键值页脚元数据。
- Parameters:
metadata – 键值对页脚元数据
设置指向输出压缩统计信息的指针。
- Parameters:
comp_stats – 指向在写入后需要更新的压缩统计数据的指针
-
inline void set_enable_dictionary_sort(bool val)#
设置是否应对字符串字典进行排序。
- Parameters:
val – 用于启用/禁用的布尔值
公共静态函数
-
static chunked_orc_writer_options_builder builder(sink_info const &sink)#
创建构建器以创建
chunked_orc_writer_options。- Parameters:
sink – 用于写入器输出的接收器
- Returns:
用于构建 chunked_orc_writer_options 的构建器
-
explicit chunked_orc_writer_options() = default#
-
class chunked_orc_writer_options_builder#
- #include <orc.hpp>
构建用于
write_orc_chunked()的设置。公共函数
-
chunked_orc_writer_options_builder() = default#
默认构造函数。
由于Cython需要一个默认构造函数来在栈上创建对象,因此已添加此内容。
-
inline explicit chunked_orc_writer_options_builder(sink_info const &sink)#
从接收器和表构建构造函数。
- Parameters:
sink – 用于写入器输出的接收器
-
inline chunked_orc_writer_options_builder &compression(compression_type comp)#
设置压缩类型。
- Parameters:
comp – 使用的压缩类型
- Returns:
这是用于链式操作
-
inline chunked_orc_writer_options_builder &enable_statistics(statistics_freq val)#
选择统计收集的粒度。
粒度可以设置为:
cudf::io::STATISTICS_NONE: 不收集任何统计信息。
cudf::io::ORC_STATISTICS_STRIPE: 统计信息是为每个ORC条带收集的。
cudf::io::ORC_STATISTICS_ROWGROUP: 为每个ORC行组收集统计信息。
- Parameters:
val – 统计收集的频率
- Returns:
这是用于链式操作
-
inline chunked_orc_writer_options_builder &stripe_size_bytes(size_t val)#
设置最大条带大小,以字节为单位。
- Parameters:
val – 最大条带大小
- Returns:
这是用于链式操作
-
inline chunked_orc_writer_options_builder &stripe_size_rows(size_type val)#
设置输出条带中的最大行数。
- Parameters:
val – 最大行数
- Returns:
这是用于链式操作
-
inline chunked_orc_writer_options_builder &row_index_stride(size_type val)#
设置行索引步幅。
- Parameters:
val – 新行索引步幅
- Returns:
这是用于链式操作
-
inline chunked_orc_writer_options_builder &metadata(table_input_metadata meta)#
设置关联的元数据。
- Parameters:
meta – 关联的元数据
- Returns:
这是用于链式操作
-
inline chunked_orc_writer_options_builder &key_value_metadata(std::map<std::string, std::string> metadata)#
设置键值页脚元数据。
- Parameters:
metadata – 键值对页脚元数据
- Returns:
这是用于链式操作
设置指向输出压缩统计信息的指针。
- Parameters:
comp_stats – 指向压缩统计信息的指针,一旦写入器完成,将填充这些统计信息
- Returns:
这是用于链式操作
-
inline chunked_orc_writer_options_builder &enable_dictionary_sort(bool val)#
设置是否应对字符串字典进行排序。
- Parameters:
val – 用于启用/禁用的布尔值
- Returns:
这是用于链式操作
-
inline operator chunked_orc_writer_options&&()#
一旦构建完成,移动 chunked_orc_writer_options 成员。
-
inline chunked_orc_writer_options &&build()#
一旦构建完成,移动 chunked_orc_writer_options 成员。
由于Cython不支持转换运算符的重载,因此已添加此内容。
- Returns:
构建了
chunked_orc_writer_options对象的右值引用
-
chunked_orc_writer_options_builder() = default#
-
class orc_chunked_writer#
- #include <orc.hpp>
分块ORC写入器类以分块/流的形式写入ORC文件。
write_orc_chunked_path 的目的是允许将任意大/任意数量的行分多次写入 ORC 文件。
以下代码片段演示了如何通过编写一系列单独的cudf::tables来编写包含一个逻辑表的单个ORC文件。
... std::string filepath = "dataset.orc"; cudf::io::chunked_orc_writer_options options = cudf::io::chunked_orc_writer_options options::builder(cudf::sink_info(filepath)); ... orc_chunked_writer writer(options) writer.write(table0) writer.write(table1) ... writer.close();
公共函数
-
orc_chunked_writer()#
默认构造函数,这应该永远不会被使用。这只是为了满足cython而添加的。
-
~orc_chunked_writer()#
虚析构函数,添加以确保我们不会泄露详细类型。
-
orc_chunked_writer(chunked_orc_writer_options const &options, rmm::cuda_stream_view stream = cudf::get_default_stream())#
带有分块写入器选项的构造函数。
- Parameters:
options – [in] 用于写入表的选项
stream – [in] 用于设备内存操作和内核启动的CUDA流
-
orc_chunked_writer &write(table_view const &table)#
将表写入输出。
- Parameters:
table – [in] 需要写入的表格
- Returns:
返回类对象的引用
-
void close()#
完成分块/流式写入过程。
-
orc_chunked_writer()#
-
struct sorting_column#
- #include <parquet.hpp>
用于描述列排序元数据的结构。
-
class parquet_writer_options_base#
- #include <parquet.hpp>
write_parquet()和parquet_chunked_writer的基本设置。由 cudf::io::chunked_parquet_writer_options, cudf::io::parquet_writer_options 子类化
公共函数
-
parquet_writer_options_base() = default#
默认构造函数。
由于Cython需要一个默认构造函数来在栈上创建对象,因此已添加此内容。
-
inline compression_type get_compression() const#
返回使用的压缩格式。
- Returns:
压缩格式
-
inline statistics_freq get_stats_level() const#
返回输出文件中请求的统计级别。
- Returns:
输出文件中请求的统计级别
-
inline auto const &get_metadata() const#
返回关联的元数据。
- Returns:
关联的元数据
-
inline std::vector<std::map<std::string, std::string>> const &get_key_value_metadata() const#
返回键值页脚元数据信息。
- Returns:
键值页脚元数据信息
-
inline bool is_enabled_int96_timestamps() const#
如果时间戳将被写为INT96,则返回
true。- Returns:
true如果时间戳将被写为 INT96
-
inline auto is_enabled_utc_timestamps() const#
如果时间戳将以UTC格式写入,则返回
true。- Returns:
true如果时间戳将以UTC格式写入
-
inline auto is_enabled_write_arrow_schema() const#
如果箭头模式将被写入,则返回
true。- Returns:
true如果箭头模式将被写入
-
inline auto get_row_group_size_bytes() const#
返回最大行组大小,以字节为单位。
- Returns:
最大行组大小,以字节为单位
-
inline auto get_row_group_size_rows() const#
返回最大行组大小,以行为单位。
- Returns:
最大行组大小,以行数为单位
-
inline auto get_max_page_size_bytes() const#
返回未压缩页面的最大大小,以字节为单位。
如果设置的值大于行组大小,则将返回行组大小。
- Returns:
最大未压缩页面大小,以字节为单位
-
inline auto get_max_page_size_rows() const#
返回最大页面大小,以行为单位。
如果设置的值大于行组大小,则将返回行组大小。
- Returns:
最大页面大小,以行数为单位
-
inline auto get_column_index_truncate_length() const#
返回列索引中最小值或最大值的最大长度,以字节为单位。
- Returns:
长度最小/最大值将被截断为
-
inline dictionary_policy get_dictionary_policy() const#
返回字典使用的策略。
- Returns:
字典使用政策
-
inline auto get_max_dictionary_size() const#
返回最大字典大小,以字节为单位。
- Returns:
最大字典大小,以字节为单位。
-
inline auto get_max_page_fragment_size() const#
返回最大页面片段大小,以行为单位。
- Returns:
最大页面片段大小,以行数为单位。
-
inline std::shared_ptr<writer_compression_statistics> get_compression_statistics() const#
返回一个指向用户提供的压缩统计信息的共享指针。
- Returns:
压缩统计
-
inline auto is_enabled_write_v2_headers() const#
如果应写入V2页面头,则返回
true。- Returns:
true如果应该写入V2页面头。
-
inline auto const &get_sorting_columns() const#
返回排序列。
- Returns:
列排序顺序元数据
-
void set_metadata(table_input_metadata metadata)#
设置元数据。
- Parameters:
metadata – 关联的元数据
-
void set_key_value_metadata(std::vector<std::map<std::string, std::string>> metadata)#
设置元数据。
- Parameters:
metadata – 键值对页脚元数据
-
void set_stats_level(statistics_freq sf)#
设置统计的级别。
- Parameters:
sf – 输出文件中请求的统计级别
-
void set_compression(compression_type compression)#
设置压缩类型。
- Parameters:
compression – 使用的压缩类型
-
void enable_int96_timestamps(bool req)#
设置时间戳写入偏好。如果
true,将写入INT96时间戳;如果false,将写入TIMESTAMP_MICROS。- Parameters:
req – 布尔值,用于启用/禁用 INT96 时间戳的写入
-
void enable_utc_timestamps(bool val)#
设置将时间戳写入为UTC的偏好。如果设置为
true,则将时间戳写入为UTC。- Parameters:
val – 布尔值,用于启用/禁用将时间戳写入为UTC。
-
void enable_write_arrow_schema(bool val)#
设置写入箭头模式的偏好。如果设置为
true,则写入箭头模式。- Parameters:
val – 布尔值,用于启用/禁用箭头模式的写入。
-
void set_row_group_size_bytes(size_t size_bytes)#
设置最大行组大小,单位为字节。
- Parameters:
size_bytes – 要设置的最大行组大小,单位为字节
-
void set_row_group_size_rows(size_type size_rows)#
设置最大行组大小,以行为单位。
- Parameters:
size_rows – 最大行组大小,以行数设置
-
void set_max_page_size_bytes(size_t size_bytes)#
设置最大未压缩页面大小,以字节为单位。
- Parameters:
size_bytes – 要设置的最大未压缩页面大小,以字节为单位
-
void set_max_page_size_rows(size_type size_rows)#
设置最大页面大小,以行为单位。
- Parameters:
size_rows – 最大页面大小,以行数设置
-
void set_column_index_truncate_length(int32_t size_bytes)#
设置列索引中最小值或最大值的最大长度,以字节为单位。
- Parameters:
size_bytes – 长度最小/最大值将被截断为
-
void set_dictionary_policy(dictionary_policy policy)#
设置字典使用的策略。
- Parameters:
policy – 字典使用的策略
-
void set_max_dictionary_size(size_t size_bytes)#
设置最大字典大小,单位为字节。
- Parameters:
size_bytes – 最大字典大小,以字节为单位
-
void set_max_page_fragment_size(size_type size_rows)#
设置最大页面片段大小,以行为单位。
- Parameters:
size_rows – 最大页面片段大小,以行数为单位。
设置指向输出压缩统计信息的指针。
- Parameters:
comp_stats – 指向在写入后需要更新的压缩统计数据的指针
-
void enable_write_v2_headers(bool val)#
设置对V2页面头的偏好。如果设置为
true,则写入V2页面头。- Parameters:
val – 布尔值,用于启用/禁用V2页面头的写入。
-
void set_sorting_columns(std::vector<sorting_column> sorting_columns)#
设置排序列。
- Parameters:
sorting_columns – 列排序顺序元数据
-
parquet_writer_options_base() = default#
-
template<class BuilderT, class OptionsT>
class parquet_writer_options_builder_base# - #include <parquet.hpp>
Parquet 选项构建器的基类。
公共函数
-
explicit parquet_writer_options_builder_base() = default#
默认构造函数。
由于Cython需要一个默认构造函数来在栈上创建对象,因此已添加此内容。
-
BuilderT &metadata(table_input_metadata metadata)#
设置元数据。
- Parameters:
metadata – 关联的元数据
- Returns:
这是用于链式操作
-
BuilderT &key_value_metadata(std::vector<std::map<std::string, std::string>> metadata)#
设置键值页脚元数据。
- Parameters:
metadata – 键值对页脚元数据
- Returns:
这是用于链式操作
-
BuilderT &stats_level(statistics_freq sf)#
设置统计的级别。
- Parameters:
sf – 输出文件中请求的统计级别
- Returns:
这是用于链式操作
-
BuilderT &compression(compression_type compression)#
设置压缩类型。
- Parameters:
compression – 使用的压缩类型
- Returns:
这是用于链式操作
-
BuilderT &row_group_size_bytes(size_t val)#
设置最大行组大小,单位为字节。
- Parameters:
val – 最大行组大小
- Returns:
这是用于链式操作
-
BuilderT &row_group_size_rows(size_type val)#
设置输出行组中的最大行数。
- Parameters:
val – 最大行数
- Returns:
这是用于链式操作
-
BuilderT &max_page_size_bytes(size_t val)#
设置最大未压缩页面大小,以字节为单位。
作为对写入者的提示,在某些情况下可能会被超过。不能大于行组的字节大小,如果超过,将会被调整以匹配。
- Parameters:
val – 最大页面大小
- Returns:
这是用于链式操作
-
BuilderT &max_page_size_rows(size_type val)#
设置最大页面大小,以行为单位。仅计算顶级行,忽略任何嵌套。不能大于以行为单位的行组大小,如果大于,则会调整以匹配。
- Parameters:
val – 每页最大行数
- Returns:
这是用于链式操作
-
BuilderT &column_index_truncate_length(int32_t val)#
设置列索引中最小值和最大值的期望最大大小(以字节为单位)。
超过此限制的值将被截断,但会进行修改以确保它们仍然是有效的下限和上限。这仅适用于可变长度类型,例如字符串。如果没有合适的截断方式可以产生有效的上限,则最大值不会被截断。
默认值为64。
- Parameters:
val – 长度最小/最大值将被截断,0表示不截断
- Returns:
这是用于链式操作
-
BuilderT &dictionary_policy(enum dictionary_policy val)#
设置字典使用的策略。
某些压缩算法(例如Zstandard)对可以压缩的缓冲区大小有限制。在某些情况下,字典可能会超过此限制,这将阻止列被压缩。此设置控制写入器在这些情况下应如何操作。设置为dictionary_policy::ADAPTIVE将禁用字典超过限制的列的字典编码。设置为dictionary_policy::NEVER将全局禁用字典编码的使用。设置为dictionary_policy::ALWAYS将允许使用字典编码,即使这会导致本应压缩的列禁用压缩。
默认值为 dictionary_policy::ADAPTIVE。
- Parameters:
val – 字典使用策略
- Returns:
这是用于链式操作
-
BuilderT &max_dictionary_size(size_t val)#
设置最大字典大小,单位为字节。
禁用字典编码,适用于任何字典大小超过此限制的列块。仅在字典策略设置为‘ADAPTIVE’时使用。
默认值为1048576(1MiB)。
- Parameters:
val – 最大字典大小
- Returns:
这是用于链式操作
-
BuilderT &max_page_fragment_size(size_type val)#
设置最大页面片段大小,以行为单位。
具有嵌套模式或非常长字符串的文件可能需要比默认值5000更小的页面片段大小,以确保单个片段不会超过所需的最大页面大小(以字节为单位)。
- Parameters:
val – 最大页面片段大小
- Returns:
这是用于链式操作
设置指向输出压缩统计信息的指针。
- Parameters:
comp_stats – 指向压缩统计信息的指针,一旦写入器完成,将填充这些统计信息
- Returns:
这是用于链式操作
-
BuilderT &int96_timestamps(bool enabled)#
设置是否写入int96时间戳。
- Parameters:
enabled – 布尔值,用于启用/禁用int96时间戳
- Returns:
这是用于链式操作
-
BuilderT &utc_timestamps(bool enabled)#
如果时间戳要以UTC格式写入,则设置为true。
- Parameters:
enabled – 布尔值,用于启用/禁用将时间戳写入为UTC。
- Returns:
这是用于链式操作
-
BuilderT &write_arrow_schema(bool enabled)#
如果要写入箭头模式,请设置为true。
- Parameters:
enabled – 布尔值,用于启用/禁用箭头模式的写入
- Returns:
这是用于链式操作
-
BuilderT &write_v2_headers(bool enabled)#
如果V2页面头需要写入,则设置为true。
- Parameters:
enabled – 布尔值,用于启用/禁用V2页面头的写入。
- Returns:
这是用于链式操作
-
BuilderT &sorting_columns(std::vector<sorting_column> sorting_columns)#
设置列排序元数据。
- Parameters:
sorting_columns – 列排序顺序元数据
- Returns:
这是用于链式操作
-
OptionsT &&build()#
一旦构建完成,移动选项成员。
由于Cython不支持转换运算符的重载,因此已添加此内容。
- Returns:
构建了
parquet_writer_options对象的右值引用
-
explicit parquet_writer_options_builder_base() = default#
-
class parquet_writer_options : public cudf::io::parquet_writer_options_base#
- #include <parquet.hpp>
write_parquet()的设置。公共函数
-
parquet_writer_options() = default#
默认构造函数。
由于Cython需要一个默认构造函数来在栈上创建对象,因此已添加此内容。
-
inline table_view get_table() const#
返回 table_view。
- Returns:
表格视图
-
inline std::vector<partition_info> const &get_partitions() const#
返回分区。
- Returns:
分区
-
inline std::vector<std::string> const &get_column_chunks_file_paths() const#
返回要在原始输出元数据中设置的列块文件路径。
- Returns:
要在原始输出元数据中设置的列块文件路径
-
void set_partitions(std::vector<partition_info> partitions)#
设置分区。
- Parameters:
partitions – 输入表的分区,格式为{起始行, 行数}对。如果指定,必须与sink_info中的接收器数量相同。
-
void set_column_chunks_file_paths(std::vector<std::string> file_paths)#
设置要在原始输出元数据中设置的列块文件路径。
- Parameters:
file_paths – 字符串向量,表示文件路径。必须与接收器信息中的数据接收器数量大小相同。
公共静态函数
-
static parquet_writer_options_builder builder(sink_info const &sink, table_view const &table)#
创建构建器以创建
parquet_writer_options。- Parameters:
sink – 用于写入器输出的接收器
table – 要写入输出的表
- Returns:
用于构建 parquet_writer_options 的构建器
-
static parquet_writer_options_builder builder()#
创建构建器以创建
parquet_writer_options。- Returns:
-
parquet_writer_options() = default#
-
class parquet_writer_options_builder : public cudf::io::parquet_writer_options_builder_base<parquet_writer_options_builder, parquet_writer_options>#
- #include <parquet.hpp>
用于构建
parquet_writer_options的类。公共函数
-
explicit parquet_writer_options_builder() = default#
默认构造函数。
由于Cython需要一个默认构造函数来在栈上创建对象,因此已添加此内容。
-
explicit parquet_writer_options_builder(sink_info const &sink, table_view const &table)#
从接收器和表构建构造函数。
- Parameters:
sink – 用于写入器输出的接收器
table – 要写入输出的表
-
parquet_writer_options_builder &partitions(std::vector<partition_info> partitions)#
在parquet_writer_options中设置分区。
- Parameters:
partitions – 输入表的分区,格式为{起始行, 行数}对。如果指定,必须与sink_info中的接收器数量相同。
- Returns:
这是用于链式操作
-
parquet_writer_options_builder &column_chunks_file_paths(std::vector<std::string> file_paths)#
设置要在原始输出元数据中设置的列块文件路径。
- Parameters:
file_paths – 字符串向量,表示文件路径。必须与数据接收器的数量相同大小。
- Returns:
这是用于链式操作
-
explicit parquet_writer_options_builder() = default#
-
class chunked_parquet_writer_options : public cudf::io::parquet_writer_options_base#
- #include <parquet.hpp>
公共函数
-
chunked_parquet_writer_options() = default#
默认构造函数。
由于Cython需要一个默认构造函数来在栈上创建对象,因此已添加此内容。
公共静态函数
-
static chunked_parquet_writer_options_builder builder(sink_info const &sink)#
创建构建器以构建 chunked_parquet_writer_options。
- Parameters:
sink – 用于写入器输出的接收器
- Returns:
用于构建
chunked_parquet_writer_options的构建器
-
chunked_parquet_writer_options() = default#
-
class chunked_parquet_writer_options_builder : public cudf::io::parquet_writer_options_builder_base<chunked_parquet_writer_options_builder, chunked_parquet_writer_options>#
- #include <parquet.hpp>
用于构建
chunked_parquet_writer_options的类。
-
class parquet_chunked_writer#
- #include <parquet.hpp>
分块parquet写入器类,用于处理选项并分块写入表格。
parquet_chunked_writer 的目的是允许以多次传递的方式将任意大/任意数量的行写入到 parquet 文件中。
以下代码片段演示了如何通过编写一系列单独的cudf::tables来编写包含一个逻辑表的单个parquet文件。
auto destination = cudf::io::sink_info("dataset.parquet"); auto options = cudf::io::chunked_parquet_writer_options::builder(destination, table->view()); auto writer = cudf::io::parquet_chunked_writer(options); writer.write(table0) writer.write(table1) writer.close()
公共函数
-
parquet_chunked_writer()#
默认构造函数,这应该永远不被使用。这只是为了满足cython而添加的。这是为了不泄露详细的API。
-
parquet_chunked_writer(chunked_parquet_writer_options const &options, rmm::cuda_stream_view stream = cudf::get_default_stream())#
带有分块写入器选项的构造函数。
- Parameters:
options – [in] 用于写入表的选项
stream – [in] 用于设备内存操作和内核启动的CUDA流
-
~parquet_chunked_writer()#
默认析构函数。添加此函数以防止泄露详细API。
-
parquet_chunked_writer &write(table_view const &table, std::vector<partition_info> const &partitions = {})#
将表写入输出。
- Parameters:
table – [in] 需要写入的表格
partitions – [in] 可选的分区,用于将表划分为多个部分。如果指定,必须与接收器的数量大小相同。
- Throws:
cudf::logic_error – 如果分区数量与接收器数量不相同
- Returns:
返回类对象的引用
-
std::unique_ptr<std::vector<uint8_t>> close(std::vector<std::string> const &column_chunks_file_paths = {})#
完成分块/流式写入过程。
- Parameters:
column_chunks_file_paths – [in] 要在原始输出元数据中设置的列块文件路径
- Returns:
一个与parquet兼容的blob,仅当提供了
column_chunks_file_paths时,包含列表中所有行组的数据,否则为null。
-
parquet_chunked_writer()#
-
void write_csv(csv_writer_options const &options, rmm::cuda_stream_view stream = cudf::get_default_stream())#