You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@parquet.apache.org by fo...@apache.org on 2020/01/05 20:12:18 UTC
[parquet-mr] branch master updated: PARQUET-1730: Use switch
Statement in AvroIndexedRecordConverter for Enums (#718)
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-mr.git
The following commit(s) were added to refs/heads/master by this push:
new c697d80 PARQUET-1730: Use switch Statement in AvroIndexedRecordConverter for Enums (#718)
c697d80 is described below
commit c697d80ec1f10b381d634a01b6dd9eda2ba125e2
Author: belugabehr <12...@users.noreply.github.com>
AuthorDate: Sun Jan 5 15:12:10 2020 -0500
PARQUET-1730: Use switch Statement in AvroIndexedRecordConverter for Enums (#718)
---
.../parquet/avro/AvroIndexedRecordConverter.java | 49 ++++++++++++----------
1 file changed, 26 insertions(+), 23 deletions(-)
diff --git a/parquet-avro/src/main/java/org/apache/parquet/avro/AvroIndexedRecordConverter.java b/parquet-avro/src/main/java/org/apache/parquet/avro/AvroIndexedRecordConverter.java
index 4bbf58a..aba562f 100644
--- a/parquet-avro/src/main/java/org/apache/parquet/avro/AvroIndexedRecordConverter.java
+++ b/parquet-avro/src/main/java/org/apache/parquet/avro/AvroIndexedRecordConverter.java
@@ -150,35 +150,38 @@ class AvroIndexedRecordConverter<T extends IndexedRecord> extends GroupConverter
ParentValueContainer parent = ParentValueContainer
.getConversionContainer(setter, conversion, schema);
- if (schema.getType().equals(Schema.Type.BOOLEAN)) {
+ switch (schema.getType()) {
+ case ARRAY:
+ return new AvroArrayConverter(parent, type.asGroupType(), schema, model);
+ case BOOLEAN:
return new AvroConverters.FieldBooleanConverter(parent);
- } else if (schema.getType().equals(Schema.Type.INT)) {
- return new AvroConverters.FieldIntegerConverter(parent);
- } else if (schema.getType().equals(Schema.Type.LONG)) {
- return new AvroConverters.FieldLongConverter(parent);
- } else if (schema.getType().equals(Schema.Type.FLOAT)) {
- return new AvroConverters.FieldFloatConverter(parent);
- } else if (schema.getType().equals(Schema.Type.DOUBLE)) {
- return new AvroConverters.FieldDoubleConverter(parent);
- } else if (schema.getType().equals(Schema.Type.BYTES)) {
+ case BYTES:
return new AvroConverters.FieldByteBufferConverter(parent);
- } else if (schema.getType().equals(Schema.Type.STRING)) {
- return new AvroConverters.FieldStringConverter(parent);
- } else if (schema.getType().equals(Schema.Type.RECORD)) {
- return new AvroIndexedRecordConverter(parent, type.asGroupType(), schema, model);
- } else if (schema.getType().equals(Schema.Type.ENUM)) {
+ case DOUBLE:
+ return new AvroConverters.FieldDoubleConverter(parent);
+ case ENUM:
return new FieldEnumConverter(parent, schema, model);
- } else if (schema.getType().equals(Schema.Type.ARRAY)) {
- return new AvroArrayConverter(parent, type.asGroupType(), schema, model);
- } else if (schema.getType().equals(Schema.Type.MAP)) {
+ case FIXED:
+ return new FieldFixedConverter(parent, schema, model);
+ case FLOAT:
+ return new AvroConverters.FieldFloatConverter(parent);
+ case INT:
+ return new AvroConverters.FieldIntegerConverter(parent);
+ case LONG:
+ return new AvroConverters.FieldLongConverter(parent);
+ case MAP:
return new MapConverter(parent, type.asGroupType(), schema, model);
- } else if (schema.getType().equals(Schema.Type.UNION)) {
+ case RECORD:
+ return new AvroIndexedRecordConverter(parent, type.asGroupType(), schema, model);
+ case STRING:
+ return new AvroConverters.FieldStringConverter(parent);
+ case UNION:
return new AvroUnionConverter(parent, type, schema, model);
- } else if (schema.getType().equals(Schema.Type.FIXED)) {
- return new FieldFixedConverter(parent, schema, model);
+ case NULL: // fall through
+ default:
+ throw new UnsupportedOperationException(String.format("Cannot convert Avro type: %s" +
+ " (Parquet type: %s) ", schema, type));
}
- throw new UnsupportedOperationException(String.format("Cannot convert Avro type: %s" +
- " (Parquet type: %s) ", schema, type));
}
private void set(int index, Object value) {