用于处理选项和分块写入表的 Parquet 分块写入器类。 更多...
#include <parquet.hpp>
公共成员函数 | |
parquet_chunked_writer () | |
默认构造函数,不应使用。添加此项仅为了满足 cython 的要求,并避免泄露详细的 API 信息。 | |
parquet_chunked_writer (chunked_parquet_writer_options const &options, rmm::cuda_stream_view stream=cudf::get_default_stream()) | |
带分块写入器选项的构造函数。 更多... | |
~parquet_chunked_writer () | |
默认析构函数。添加此项是为了避免泄露详细的 API 信息。 | |
parquet_chunked_writer & | write (table_view const &table, std::vector< partition_info > const &partitions={}) |
将表写入输出。 更多... | |
std::unique_ptr< std::vector< uint8_t > > | close (std::vector< std::string > const &column_chunks_file_paths={}) |
完成分块/流式写入过程。 更多... | |
公共属性 | |
std::unique_ptr< parquet::detail::writer > | writer |
指向实现写入器类的唯一指针。 | |
用于处理选项和分块写入表的 Parquet 分块写入器类。
parquet_chunked_writer 的目的是允许通过多次传递,将任意大/任意多行的内容写入 Parquet 文件。
以下代码片段演示了如何通过写入一系列单独的 cudf::tables 来写入包含一个逻辑表的单个 Parquet 文件。
定义位于文件 parquet.hpp 的第 1418 行。
cudf::io::parquet_chunked_writer::parquet_chunked_writer | ( | chunked_parquet_writer_options const & | options, |
rmm::cuda_stream_view | stream = cudf::get_default_stream() |
||
) |
带分块写入器选项的构造函数。
[in] | options | 用于写入表的选项 |
[in] | stream | 用于设备内存操作和内核启动的 CUDA 流 |
std::unique_ptr<std::vector<uint8_t> > cudf::io::parquet_chunked_writer::close | ( | std::vector< std::string > const & | column_chunks_file_paths = {} | ) |
完成分块/流式写入过程。
[in] | column_chunks_file_paths | 要在原始输出元数据中设置的列块文件路径 |
column_chunks_file_paths
,则返回包含列表中所有行组数据的 Parquet 兼容 blob,否则返回 null。parquet_chunked_writer& cudf::io::parquet_chunked_writer::write | ( | table_view const & | table, |
std::vector< partition_info > const & | partitions = {} |
||
) |
将表写入输出。
[in] | table | 需要写入的表 |
[in] | partitions | 可选的分区,用于将表分割成多个部分。如果指定,必须与 sink 的数量相同。 |
cudf::logic_error | 如果分区数量与 sink 数量不同 |
rmm::bad_alloc | 如果临时缓冲区空间不足 |