|
|
|||
File indexing completed on 2026-04-17 08:28:55
0001 // Licensed to the Apache Software Foundation (ASF) under one 0002 // or more contributor license agreements. See the NOTICE file 0003 // distributed with this work for additional information 0004 // regarding copyright ownership. The ASF licenses this file 0005 // to you under the Apache License, Version 2.0 (the 0006 // "License"); you may not use this file except in compliance 0007 // with the License. You may obtain a copy of the License at 0008 // 0009 // http://www.apache.org/licenses/LICENSE-2.0 0010 // 0011 // Unless required by applicable law or agreed to in writing, 0012 // software distributed under the License is distributed on an 0013 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 0014 // KIND, either express or implied. See the License for the 0015 // specific language governing permissions and limitations 0016 // under the License. 0017 0018 #pragma once 0019 0020 namespace parquet { 0021 0022 /// \brief Feature selection when writing Parquet files 0023 /// 0024 /// `ParquetVersion::type` governs which data types are allowed and how they 0025 /// are represented. For example, uint32_t data will be written differently 0026 /// depending on this value (as INT64 for PARQUET_1_0, as UINT32 for other 0027 /// versions). 0028 /// 0029 /// However, some features - such as compression algorithms, encryption, 0030 /// or the improved "v2" data page format - must be enabled separately in 0031 /// ArrowWriterProperties. 0032 struct ParquetVersion { 0033 enum type : int { 0034 /// Enable only pre-2.2 Parquet format features when writing 0035 /// 0036 /// This setting is useful for maximum compatibility with legacy readers. 0037 /// Note that logical types may still be emitted, as long they have a 0038 /// corresponding converted type. 0039 PARQUET_1_0, 0040 0041 /// Enable Parquet format 2.4 and earlier features when writing 0042 /// 0043 /// This enables UINT32 as well as logical types which don't have 0044 /// a corresponding converted type. 0045 /// 0046 /// Note: Parquet format 2.4.0 was released in October 2017. 0047 PARQUET_2_4, 0048 0049 /// Enable Parquet format 2.6 and earlier features when writing 0050 /// 0051 /// This enables the NANOS time unit in addition to the PARQUET_2_4 0052 /// features. 0053 /// 0054 /// Note: Parquet format 2.6.0 was released in September 2018. 0055 PARQUET_2_6, 0056 0057 /// Enable latest Parquet format 2.x features 0058 /// 0059 /// This value is equal to the greatest 2.x version supported by 0060 /// this library. 0061 PARQUET_2_LATEST = PARQUET_2_6 0062 }; 0063 }; 0064 0065 struct PageIndexLocation; 0066 0067 class FileMetaData; 0068 class FileCryptoMetaData; 0069 class RowGroupMetaData; 0070 0071 class ColumnDescriptor; 0072 class SchemaDescriptor; 0073 0074 class ReaderProperties; 0075 class ArrowReaderProperties; 0076 0077 class WriterProperties; 0078 class WriterPropertiesBuilder; 0079 class ArrowWriterProperties; 0080 class ArrowWriterPropertiesBuilder; 0081 0082 class EncodedStatistics; 0083 class Statistics; 0084 struct SizeStatistics; 0085 0086 namespace geospatial { 0087 class GeoStatistics; 0088 struct EncodedGeoStatistics; 0089 } // namespace geospatial 0090 0091 class ColumnIndex; 0092 class OffsetIndex; 0093 0094 namespace arrow { 0095 0096 class FileWriter; 0097 class FileReader; 0098 0099 } // namespace arrow 0100 0101 namespace schema { 0102 class ColumnPath; 0103 } // namespace schema 0104 0105 } // namespace parquet
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|