26 #include <cudf/utilities/export.hpp>
32 namespace CUDF_EXPORT
cudf {
174 namespace orc::detail {
240 std::vector<orc_column_schema> children)
241 : _name{name}, _type_kind{type}, _children{std::move(children)}
250 [[nodiscard]]
auto name()
const {
return _name; }
257 [[nodiscard]]
auto type_kind()
const {
return _type_kind; }
264 [[nodiscard]]
auto const&
children() const& {
return _children; }
270 [[nodiscard]]
auto children() && {
return std::move(_children); }
279 [[nodiscard]]
auto const&
child(
int idx)
const& {
return children().at(idx); }
285 [[nodiscard]]
auto child(
int idx) && {
return std::move(children().at(idx)); }
297 std::vector<orc_column_schema> _children;
317 [[nodiscard]]
auto const&
root() const& {
return _root; }
323 [[nodiscard]]
auto root() && {
return std::move(_root); }
342 : _schema{std::move(schema)}, _num_rows{num_rows}, _num_stripes{num_stripes}
351 [[nodiscard]]
auto const&
schema()
const {
return _schema; }
361 [[nodiscard]]
auto num_rows()
const {
return _num_rows; }
rmm::cuda_stream_view const get_default_stream()
获取当前的默认流。
raw_orc_statistics read_raw_orc_statistics(source_info const &src_info, rmm::cuda_stream_view stream=cudf::get_default_stream())
读取 ORC 数据集的文件级和条带级统计信息。
parsed_orc_statistics read_parsed_orc_statistics(source_info const &src_info, rmm::cuda_stream_view stream=cudf::get_default_stream())
读取 ORC 数据集的文件级和条带级统计信息。
orc_metadata read_orc_metadata(source_info const &src_info, rmm::cuda_stream_view stream=cudf::get_default_stream())
读取 ORC 数据集的元数据。
sum_statistics< int64_t > binary_statistics
二进制列的统计信息。
minmax_statistics< int32_t > date_statistics
日期(时间)列的统计信息。
std::variant< no_statistics, integer_statistics, double_statistics, string_statistics, bucket_statistics, decimal_statistics, date_statistics, binary_statistics, timestamp_statistics > statistics_type
用于 ORC 特定类型列统计信息的变体类型。
std::monostate no_statistics
统计信息变体的 Monostate 类型别名。
int32_t size_type
列和表的行索引类型。
std::vector< uint64_t > count
真值的计数
column_statistics(orc::detail::column_statistics &&detail_statistics)
构造一个新的列统计信息对象。
statistics_type type_specific_stats
特定类型统计信息
std::optional< uint64_t > number_of_values
值数量
std::optional< bool > has_null
列是否包含任何 null 值
std::optional< T > minimum
最小值。
std::optional< T > maximum
最大值。
auto const & children() const &
返回所有子列的模式。
orc_column_schema(std::string_view name, orc::TypeKind type, std::vector< orc_column_schema > children)
构造函数
auto child(int idx) &&
返回给定索引的子列模式。
auto type_kind() const
返回列的 ORC 类型。
auto const & child(int idx) const &
返回给定索引的子列模式。
auto name() const
返回 ORC 列名;可以为空。
auto num_children() const
返回子列的数量。
auto children() &&
返回所有子列的模式。
auto root() &&
返回包含所有列作为字段的结构列的模式。
auto const & root() const &
返回包含所有列作为字段的结构列的模式。
orc_schema(orc_column_schema root_column_schema)
构造函数
std::vector< std::vector< column_statistics > > stripes_stats
条带级统计信息
std::vector< std::string > column_names
列名
std::vector< column_statistics > file_stats
文件级统计信息
包含列名以及包含原始文件级和条带级统计信息的缓冲区。
std::vector< std::vector< std::string > > stripes_stats
每个列的条带级统计信息。
std::vector< std::string > column_names
列名。
std::vector< std::string > file_stats
每个列的文件级统计信息。
std::optional< T > sum
列中值的总和。
std::optional< uint32_t > minimum_nanos
最小值的纳秒部分
std::optional< uint32_t > maximum_nanos
最大值的纳秒部分
std::optional< int64_t > minimum_utc
最小值的毫秒部分
std::optional< int64_t > maximum_utc
最大值的毫秒部分