25 #include <cudf/utilities/export.hpp>
28 #include <string_view>
32 namespace CUDF_EXPORT
cudf {
54 FIXED_LEN_BYTE_ARRAY = 7,
79 std::vector<parquet_column_schema> children)
80 : _name{name}, _type_kind{type}, _children{std::move(children)}
89 [[nodiscard]]
auto name()
const {
return _name; }
96 [[nodiscard]]
auto type_kind()
const {
return _type_kind; }
103 [[nodiscard]]
auto const&
children() const& {
return _children; }
109 [[nodiscard]]
auto children() && {
return std::move(_children); }
118 [[nodiscard]]
auto const&
child(
int idx)
const& {
return children().at(idx); }
124 [[nodiscard]]
auto child(
int idx) && {
return std::move(children().at(idx)); }
137 std::vector<parquet_column_schema> _children;
164 [[nodiscard]]
auto const&
root() const& {
return _root; }
170 [[nodiscard]]
auto root() && {
return std::move(_root); }
206 std::vector<row_group_metadata> rg_metadata)
207 : _schema{std::move(schema)},
209 _num_rowgroups{num_rowgroups},
210 _file_metadata{std::move(file_metadata)},
211 _rowgroup_metadata{std::move(rg_metadata)}
220 [[nodiscard]]
auto const&
schema()
const {
return _schema; }
229 [[nodiscard]]
auto num_rows()
const {
return _num_rows; }
243 [[nodiscard]]
auto const&
metadata()
const {
return _file_metadata; }
256 key_value_metadata _file_metadata;
257 std::vector<row_group_metadata> _rowgroup_metadata;
parquet_metadata read_parquet_metadata(source_info const & src_info)
读取 parquet 数据集的元数据。
int32_t size_type
用于列和表的行索引类型。
TypeKind
Parquet 中的基本数据类型,决定数据的物理存储方式。
auto const & child(int idx) const &
返回给定索引的子模式。
auto name() const
返回 parquet 列名;可以为空。
auto const & children() const &
返回所有子列的模式。
auto children() &
返回所有子列的模式。
auto num_children() const
返回子列的数量。
auto type_kind() const
返回列的 parquet 类型。
parquet_column_schema()=default
默认构造函数。
auto child(int idx) &
返回给定索引的子模式。
parquet_column_schema(std::string_view name, parquet::TypeKind type, std::vector< parquet_column_schema > children)
构造函数
parquet_schema()=default
默认构造函数。
auto root() &
返回包含所有列作为字段的 struct 列的模式。
auto const & root() const &
返回包含所有列作为字段的 struct 列的模式。
parquet_schema(parquet_column_schema root_column_schema)
构造函数