Skip to content

Commit a24ea5c

Browse files
authored
Minor: Use logicaltypes constants in ParquetMetadataConverter (#3186)
* Update to use constant logical types * Use constant type if possible in ParquetMetaConverter
1 parent 6fe139e commit a24ea5c

File tree

2 files changed

+15
-24
lines changed

2 files changed

+15
-24
lines changed

parquet-format-structures/src/main/java/org/apache/parquet/format/LogicalTypes.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,5 @@ public static LogicalType DECIMAL(int scale, int precision) {
5353
public static final LogicalType JSON = LogicalType.JSON(new JsonType());
5454
public static final LogicalType BSON = LogicalType.BSON(new BsonType());
5555
public static final LogicalType FLOAT16 = LogicalType.FLOAT16(new Float16Type());
56+
public static final LogicalType UUID = LogicalType.UUID(new UUIDType());
5657
}

parquet-hadoop/src/main/java/org/apache/parquet/format/converter/ParquetMetadataConverter.java

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@
6565
import org.apache.parquet.format.BloomFilterHash;
6666
import org.apache.parquet.format.BloomFilterHeader;
6767
import org.apache.parquet.format.BoundaryOrder;
68-
import org.apache.parquet.format.BsonType;
6968
import org.apache.parquet.format.ColumnChunk;
7069
import org.apache.parquet.format.ColumnCryptoMetaData;
7170
import org.apache.parquet.format.ColumnIndex;
@@ -75,25 +74,19 @@
7574
import org.apache.parquet.format.ConvertedType;
7675
import org.apache.parquet.format.DataPageHeader;
7776
import org.apache.parquet.format.DataPageHeaderV2;
78-
import org.apache.parquet.format.DateType;
7977
import org.apache.parquet.format.DecimalType;
8078
import org.apache.parquet.format.DictionaryPageHeader;
8179
import org.apache.parquet.format.Encoding;
8280
import org.apache.parquet.format.EncryptionWithColumnKey;
83-
import org.apache.parquet.format.EnumType;
8481
import org.apache.parquet.format.FieldRepetitionType;
8582
import org.apache.parquet.format.FileMetaData;
86-
import org.apache.parquet.format.Float16Type;
8783
import org.apache.parquet.format.IntType;
88-
import org.apache.parquet.format.JsonType;
8984
import org.apache.parquet.format.KeyValue;
90-
import org.apache.parquet.format.ListType;
9185
import org.apache.parquet.format.LogicalType;
92-
import org.apache.parquet.format.MapType;
86+
import org.apache.parquet.format.LogicalTypes;
9387
import org.apache.parquet.format.MicroSeconds;
9488
import org.apache.parquet.format.MilliSeconds;
9589
import org.apache.parquet.format.NanoSeconds;
96-
import org.apache.parquet.format.NullType;
9790
import org.apache.parquet.format.OffsetIndex;
9891
import org.apache.parquet.format.PageEncodingStats;
9992
import org.apache.parquet.format.PageHeader;
@@ -104,13 +97,11 @@
10497
import org.apache.parquet.format.SizeStatistics;
10598
import org.apache.parquet.format.SplitBlockAlgorithm;
10699
import org.apache.parquet.format.Statistics;
107-
import org.apache.parquet.format.StringType;
108100
import org.apache.parquet.format.TimeType;
109101
import org.apache.parquet.format.TimeUnit;
110102
import org.apache.parquet.format.TimestampType;
111103
import org.apache.parquet.format.Type;
112104
import org.apache.parquet.format.TypeDefinedOrder;
113-
import org.apache.parquet.format.UUIDType;
114105
import org.apache.parquet.format.Uncompressed;
115106
import org.apache.parquet.format.XxHash;
116107
import org.apache.parquet.hadoop.metadata.BlockMetaData;
@@ -449,33 +440,32 @@ private static class LogicalTypeConverterVisitor
449440
implements LogicalTypeAnnotation.LogicalTypeAnnotationVisitor<LogicalType> {
450441
@Override
451442
public Optional<LogicalType> visit(LogicalTypeAnnotation.StringLogicalTypeAnnotation stringLogicalType) {
452-
return of(LogicalType.STRING(new StringType()));
443+
return of(LogicalTypes.UTF8);
453444
}
454445

455446
@Override
456447
public Optional<LogicalType> visit(LogicalTypeAnnotation.MapLogicalTypeAnnotation mapLogicalType) {
457-
return of(LogicalType.MAP(new MapType()));
448+
return of(LogicalTypes.MAP);
458449
}
459450

460451
@Override
461452
public Optional<LogicalType> visit(LogicalTypeAnnotation.ListLogicalTypeAnnotation listLogicalType) {
462-
return of(LogicalType.LIST(new ListType()));
453+
return of(LogicalTypes.LIST);
463454
}
464455

465456
@Override
466457
public Optional<LogicalType> visit(LogicalTypeAnnotation.EnumLogicalTypeAnnotation enumLogicalType) {
467-
return of(LogicalType.ENUM(new EnumType()));
458+
return of(LogicalTypes.ENUM);
468459
}
469460

470461
@Override
471462
public Optional<LogicalType> visit(LogicalTypeAnnotation.DecimalLogicalTypeAnnotation decimalLogicalType) {
472-
return of(LogicalType.DECIMAL(
473-
new DecimalType(decimalLogicalType.getScale(), decimalLogicalType.getPrecision())));
463+
return of(LogicalTypes.DECIMAL(decimalLogicalType.getScale(), decimalLogicalType.getPrecision()));
474464
}
475465

476466
@Override
477467
public Optional<LogicalType> visit(LogicalTypeAnnotation.DateLogicalTypeAnnotation dateLogicalType) {
478-
return of(LogicalType.DATE(new DateType()));
468+
return of(LogicalTypes.DATE);
479469
}
480470

481471
@Override
@@ -497,32 +487,32 @@ public Optional<LogicalType> visit(LogicalTypeAnnotation.IntLogicalTypeAnnotatio
497487

498488
@Override
499489
public Optional<LogicalType> visit(LogicalTypeAnnotation.JsonLogicalTypeAnnotation jsonLogicalType) {
500-
return of(LogicalType.JSON(new JsonType()));
490+
return of(LogicalTypes.JSON);
501491
}
502492

503493
@Override
504494
public Optional<LogicalType> visit(LogicalTypeAnnotation.BsonLogicalTypeAnnotation bsonLogicalType) {
505-
return of(LogicalType.BSON(new BsonType()));
495+
return of(LogicalTypes.BSON);
506496
}
507497

508498
@Override
509499
public Optional<LogicalType> visit(UUIDLogicalTypeAnnotation uuidLogicalType) {
510-
return of(LogicalType.UUID(new UUIDType()));
500+
return of(LogicalTypes.UUID);
511501
}
512502

513503
@Override
514504
public Optional<LogicalType> visit(LogicalTypeAnnotation.Float16LogicalTypeAnnotation float16LogicalType) {
515-
return of(LogicalType.FLOAT16(new Float16Type()));
505+
return of(LogicalTypes.FLOAT16);
516506
}
517507

518508
@Override
519-
public Optional<LogicalType> visit(LogicalTypeAnnotation.UnknownLogicalTypeAnnotation intervalLogicalType) {
520-
return of(LogicalType.UNKNOWN(new NullType()));
509+
public Optional<LogicalType> visit(LogicalTypeAnnotation.UnknownLogicalTypeAnnotation unknownLogicalType) {
510+
return of(LogicalTypes.UNKNOWN);
521511
}
522512

523513
@Override
524514
public Optional<LogicalType> visit(LogicalTypeAnnotation.IntervalLogicalTypeAnnotation intervalLogicalType) {
525-
return of(LogicalType.UNKNOWN(new NullType()));
515+
return of(LogicalTypes.UNKNOWN);
526516
}
527517
}
528518

0 commit comments

Comments
 (0)