This is an automated email from the ASF dual-hosted git repository.
fokko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/parquet-java.git
The following commit(s) were added to refs/heads/master by this push:
new a24ea5cf4 Minor: Use logicaltypes constants in
ParquetMetadataConverter (#3186)
a24ea5cf4 is described below
commit a24ea5cf4e45a1ee1d77e2e245e6383f39f5be0a
Author: Aihua Xu <[email protected]>
AuthorDate: Thu Apr 10 05:51:35 2025 -0700
Minor: Use logicaltypes constants in ParquetMetadataConverter (#3186)
* Update to use constant logical types
* Use constant type if possible in ParquetMetaConverter
---
.../org/apache/parquet/format/LogicalTypes.java | 1 +
.../format/converter/ParquetMetadataConverter.java | 38 ++++++++--------------
2 files changed, 15 insertions(+), 24 deletions(-)
diff --git
a/parquet-format-structures/src/main/java/org/apache/parquet/format/LogicalTypes.java
b/parquet-format-structures/src/main/java/org/apache/parquet/format/LogicalTypes.java
index b2d70c924..b8c2ae8f7 100644
---
a/parquet-format-structures/src/main/java/org/apache/parquet/format/LogicalTypes.java
+++
b/parquet-format-structures/src/main/java/org/apache/parquet/format/LogicalTypes.java
@@ -53,4 +53,5 @@ public class LogicalTypes {
public static final LogicalType JSON = LogicalType.JSON(new JsonType());
public static final LogicalType BSON = LogicalType.BSON(new BsonType());
public static final LogicalType FLOAT16 = LogicalType.FLOAT16(new
Float16Type());
+ public static final LogicalType UUID = LogicalType.UUID(new UUIDType());
}
diff --git
a/parquet-hadoop/src/main/java/org/apache/parquet/format/converter/ParquetMetadataConverter.java
b/parquet-hadoop/src/main/java/org/apache/parquet/format/converter/ParquetMetadataConverter.java
index 87797d1fa..c3d6ec8e0 100644
---
a/parquet-hadoop/src/main/java/org/apache/parquet/format/converter/ParquetMetadataConverter.java
+++
b/parquet-hadoop/src/main/java/org/apache/parquet/format/converter/ParquetMetadataConverter.java
@@ -65,7 +65,6 @@ import org.apache.parquet.format.BloomFilterCompression;
import org.apache.parquet.format.BloomFilterHash;
import org.apache.parquet.format.BloomFilterHeader;
import org.apache.parquet.format.BoundaryOrder;
-import org.apache.parquet.format.BsonType;
import org.apache.parquet.format.ColumnChunk;
import org.apache.parquet.format.ColumnCryptoMetaData;
import org.apache.parquet.format.ColumnIndex;
@@ -75,25 +74,19 @@ import org.apache.parquet.format.CompressionCodec;
import org.apache.parquet.format.ConvertedType;
import org.apache.parquet.format.DataPageHeader;
import org.apache.parquet.format.DataPageHeaderV2;
-import org.apache.parquet.format.DateType;
import org.apache.parquet.format.DecimalType;
import org.apache.parquet.format.DictionaryPageHeader;
import org.apache.parquet.format.Encoding;
import org.apache.parquet.format.EncryptionWithColumnKey;
-import org.apache.parquet.format.EnumType;
import org.apache.parquet.format.FieldRepetitionType;
import org.apache.parquet.format.FileMetaData;
-import org.apache.parquet.format.Float16Type;
import org.apache.parquet.format.IntType;
-import org.apache.parquet.format.JsonType;
import org.apache.parquet.format.KeyValue;
-import org.apache.parquet.format.ListType;
import org.apache.parquet.format.LogicalType;
-import org.apache.parquet.format.MapType;
+import org.apache.parquet.format.LogicalTypes;
import org.apache.parquet.format.MicroSeconds;
import org.apache.parquet.format.MilliSeconds;
import org.apache.parquet.format.NanoSeconds;
-import org.apache.parquet.format.NullType;
import org.apache.parquet.format.OffsetIndex;
import org.apache.parquet.format.PageEncodingStats;
import org.apache.parquet.format.PageHeader;
@@ -104,13 +97,11 @@ import org.apache.parquet.format.SchemaElement;
import org.apache.parquet.format.SizeStatistics;
import org.apache.parquet.format.SplitBlockAlgorithm;
import org.apache.parquet.format.Statistics;
-import org.apache.parquet.format.StringType;
import org.apache.parquet.format.TimeType;
import org.apache.parquet.format.TimeUnit;
import org.apache.parquet.format.TimestampType;
import org.apache.parquet.format.Type;
import org.apache.parquet.format.TypeDefinedOrder;
-import org.apache.parquet.format.UUIDType;
import org.apache.parquet.format.Uncompressed;
import org.apache.parquet.format.XxHash;
import org.apache.parquet.hadoop.metadata.BlockMetaData;
@@ -449,33 +440,32 @@ public class ParquetMetadataConverter {
implements
LogicalTypeAnnotation.LogicalTypeAnnotationVisitor<LogicalType> {
@Override
public Optional<LogicalType>
visit(LogicalTypeAnnotation.StringLogicalTypeAnnotation stringLogicalType) {
- return of(LogicalType.STRING(new StringType()));
+ return of(LogicalTypes.UTF8);
}
@Override
public Optional<LogicalType>
visit(LogicalTypeAnnotation.MapLogicalTypeAnnotation mapLogicalType) {
- return of(LogicalType.MAP(new MapType()));
+ return of(LogicalTypes.MAP);
}
@Override
public Optional<LogicalType>
visit(LogicalTypeAnnotation.ListLogicalTypeAnnotation listLogicalType) {
- return of(LogicalType.LIST(new ListType()));
+ return of(LogicalTypes.LIST);
}
@Override
public Optional<LogicalType>
visit(LogicalTypeAnnotation.EnumLogicalTypeAnnotation enumLogicalType) {
- return of(LogicalType.ENUM(new EnumType()));
+ return of(LogicalTypes.ENUM);
}
@Override
public Optional<LogicalType>
visit(LogicalTypeAnnotation.DecimalLogicalTypeAnnotation decimalLogicalType) {
- return of(LogicalType.DECIMAL(
- new DecimalType(decimalLogicalType.getScale(),
decimalLogicalType.getPrecision())));
+ return of(LogicalTypes.DECIMAL(decimalLogicalType.getScale(),
decimalLogicalType.getPrecision()));
}
@Override
public Optional<LogicalType>
visit(LogicalTypeAnnotation.DateLogicalTypeAnnotation dateLogicalType) {
- return of(LogicalType.DATE(new DateType()));
+ return of(LogicalTypes.DATE);
}
@Override
@@ -497,32 +487,32 @@ public class ParquetMetadataConverter {
@Override
public Optional<LogicalType>
visit(LogicalTypeAnnotation.JsonLogicalTypeAnnotation jsonLogicalType) {
- return of(LogicalType.JSON(new JsonType()));
+ return of(LogicalTypes.JSON);
}
@Override
public Optional<LogicalType>
visit(LogicalTypeAnnotation.BsonLogicalTypeAnnotation bsonLogicalType) {
- return of(LogicalType.BSON(new BsonType()));
+ return of(LogicalTypes.BSON);
}
@Override
public Optional<LogicalType> visit(UUIDLogicalTypeAnnotation
uuidLogicalType) {
- return of(LogicalType.UUID(new UUIDType()));
+ return of(LogicalTypes.UUID);
}
@Override
public Optional<LogicalType>
visit(LogicalTypeAnnotation.Float16LogicalTypeAnnotation float16LogicalType) {
- return of(LogicalType.FLOAT16(new Float16Type()));
+ return of(LogicalTypes.FLOAT16);
}
@Override
- public Optional<LogicalType>
visit(LogicalTypeAnnotation.UnknownLogicalTypeAnnotation intervalLogicalType) {
- return of(LogicalType.UNKNOWN(new NullType()));
+ public Optional<LogicalType>
visit(LogicalTypeAnnotation.UnknownLogicalTypeAnnotation unknownLogicalType) {
+ return of(LogicalTypes.UNKNOWN);
}
@Override
public Optional<LogicalType>
visit(LogicalTypeAnnotation.IntervalLogicalTypeAnnotation intervalLogicalType) {
- return of(LogicalType.UNKNOWN(new NullType()));
+ return of(LogicalTypes.UNKNOWN);
}
}