Skip to content

Commit 4fe2e90

Browse files
authored
GH-3401: Remove redundant MAP_KEY_VALUE annotation at middle level of logical type map (#3402)
1 parent efe71c2 commit 4fe2e90

File tree

6 files changed

+22
-31
lines changed

6 files changed

+22
-31
lines changed

parquet-avro/src/main/java/org/apache/parquet/avro/package-info.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
* <tr>
7878
* <td>map</td>
7979
* <td>group (with original type MAP) containing one repeated group
80-
* field (with original type MAP_KEY_VALUE) of (key, value)</td>
80+
* field of (key, value)</td>
8181
* </tr>
8282
* <tr>
8383
* <td>fixed</td>
@@ -148,7 +148,7 @@
148148
* </tr>
149149
* <tr>
150150
* <td>group (with original type MAP) containing one repeated group
151-
* field (with original type MAP_KEY_VALUE) of (key, value)</td>
151+
* field of (key, value)</td>
152152
* <td>map</td>
153153
* </tr>
154154
* </table>

parquet-avro/src/test/java/org/apache/parquet/avro/TestAvroSchemaConverter.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ public static void setupConf() {
121121
+ " }\n"
122122
+ " }\n"
123123
+ " required group mymap (MAP) {\n"
124-
+ " repeated group map (MAP_KEY_VALUE) {\n"
124+
+ " repeated group map {\n"
125125
+ " required binary key (UTF8);\n"
126126
+ " required int32 value;\n"
127127
+ " }\n"
@@ -214,13 +214,13 @@ public void testAllTypes() throws Exception {
214214
+ " }\n"
215215
+ " }\n"
216216
+ " required group mymap (MAP) {\n"
217-
+ " repeated group key_value (MAP_KEY_VALUE) {\n"
217+
+ " repeated group key_value {\n"
218218
+ " required binary key (UTF8);\n"
219219
+ " required int32 value;\n"
220220
+ " }\n"
221221
+ " }\n"
222222
+ " required group myemptymap (MAP) {\n"
223-
+ " repeated group key_value (MAP_KEY_VALUE) {\n"
223+
+ " repeated group key_value {\n"
224224
+ " required binary key (UTF8);\n"
225225
+ " required int32 value;\n"
226226
+ " }\n"
@@ -261,13 +261,13 @@ public void testAllTypesOldListBehavior() throws Exception {
261261
+ " repeated int32 array;\n"
262262
+ " }\n"
263263
+ " required group mymap (MAP) {\n"
264-
+ " repeated group key_value (MAP_KEY_VALUE) {\n"
264+
+ " repeated group key_value {\n"
265265
+ " required binary key (UTF8);\n"
266266
+ " required int32 value;\n"
267267
+ " }\n"
268268
+ " }\n"
269269
+ " required group myemptymap (MAP) {\n"
270-
+ " repeated group key_value (MAP_KEY_VALUE) {\n"
270+
+ " repeated group key_value {\n"
271271
+ " required binary key (UTF8);\n"
272272
+ " required int32 value;\n"
273273
+ " }\n"
@@ -322,7 +322,7 @@ public void testOptionalMapValue() throws Exception {
322322
testRoundTripConversion(
323323
schema,
324324
"message record1 {\n" + " required group myintmap (MAP) {\n"
325-
+ " repeated group key_value (MAP_KEY_VALUE) {\n"
325+
+ " repeated group key_value {\n"
326326
+ " required binary key (UTF8);\n"
327327
+ " optional int32 value;\n"
328328
+ " }\n"
@@ -977,7 +977,7 @@ public void testAvroFixed12AsParquetInt96Type() throws Exception {
977977
+ " repeated int96 array;\n"
978978
+ " }\n"
979979
+ " required group mymap (MAP) {\n"
980-
+ " repeated group key_value (MAP_KEY_VALUE) {\n"
980+
+ " repeated group key_value {\n"
981981
+ " required binary key (STRING);\n"
982982
+ " required int96 value;\n"
983983
+ " }\n"

parquet-column/src/main/java/org/apache/parquet/schema/ConversionPatterns.java

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,7 @@ public static GroupType mapType(
7575
repetition,
7676
alias,
7777
LogicalTypeAnnotation.mapType(),
78-
new GroupType(
79-
Repetition.REPEATED,
80-
mapAlias,
81-
LogicalTypeAnnotation.MapKeyValueTypeAnnotation.getInstance(),
82-
keyType));
78+
new GroupType(Repetition.REPEATED, mapAlias, keyType));
8379
} else {
8480
if (!valueType.getName().equals("value")) {
8581
throw new RuntimeException(valueType.getName() + " should be value");
@@ -88,12 +84,7 @@ public static GroupType mapType(
8884
repetition,
8985
alias,
9086
LogicalTypeAnnotation.mapType(),
91-
new GroupType(
92-
Repetition.REPEATED,
93-
mapAlias,
94-
LogicalTypeAnnotation.MapKeyValueTypeAnnotation.getInstance(),
95-
keyType,
96-
valueType));
87+
new GroupType(Repetition.REPEATED, mapAlias, keyType, valueType));
9788
}
9889
}
9990

parquet-column/src/main/java/org/apache/parquet/schema/Types.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@
110110
*
111111
* <pre>
112112
* // required group zipMap (MAP) {
113-
* // repeated group map (MAP_KEY_VALUE) {
113+
* // repeated group map {
114114
* // required float key
115115
* // optional int32 value
116116
* // }
@@ -122,7 +122,7 @@
122122
*
123123
*
124124
* // required group zipMap (MAP) {
125-
* // repeated group map (MAP_KEY_VALUE) {
125+
* // repeated group map {
126126
* // required group key {
127127
* // optional int64 first;
128128
* // required group second {

parquet-thrift/src/test/java/org/apache/parquet/thrift/TestThriftSchemaConverter.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -145,15 +145,15 @@ public void testToProjectedThriftType() {
145145
message TestStructInMap {
146146
optional binary name(UTF8);
147147
optional group names(MAP) {
148-
repeated group map(MAP_KEY_VALUE) {
148+
repeated group map {
149149
required binary key(UTF8);
150150
optional group value {
151151
optional group name {
152152
optional binary first_name(UTF8);
153153
optional binary last_name(UTF8);
154154
}
155155
optional group phones(MAP) {
156-
repeated group map(MAP_KEY_VALUE) {
156+
repeated group map {
157157
required binary key(ENUM);
158158
optional binary value(UTF8);
159159
}
@@ -171,15 +171,15 @@ public void testProjectMapThriftType() {
171171
"name;names.key*;names.value",
172172
"message ParquetSchema {\n" + " optional binary name (UTF8) = 1;\n"
173173
+ " optional group names (MAP) = 2 {\n"
174-
+ " repeated group key_value (MAP_KEY_VALUE) {\n"
174+
+ " repeated group key_value {\n"
175175
+ " required binary key (UTF8);\n"
176176
+ " optional group value {\n"
177177
+ " optional group name = 1 {\n"
178178
+ " optional binary first_name (UTF8) = 1;\n"
179179
+ " optional binary last_name (UTF8) = 2;\n"
180180
+ " }\n"
181181
+ " optional group phones (MAP) = 2 {\n"
182-
+ " repeated group key_value (MAP_KEY_VALUE) {\n"
182+
+ " repeated group key_value {\n"
183183
+ " required binary key (ENUM);\n"
184184
+ " optional binary value (UTF8);\n"
185185
+ " }\n"
@@ -196,7 +196,7 @@ public void testProjectMapThriftType() {
196196
"name;names.key;names.value.name",
197197
"message ParquetSchema {\n" + " optional binary name (UTF8) = 1;\n"
198198
+ " optional group names (MAP) = 2 {\n"
199-
+ " repeated group key_value (MAP_KEY_VALUE) {\n"
199+
+ " repeated group key_value {\n"
200200
+ " required binary key (UTF8);\n"
201201
+ " optional group value {\n"
202202
+ " optional group name = 1 {\n"
@@ -217,7 +217,7 @@ public void testProjectOnlyKeyInMap() {
217217
"name;names.key",
218218
"message ParquetSchema {\n" + " optional binary name (UTF8) = 1;\n"
219219
+ " optional group names (MAP) = 2 {\n"
220-
+ " repeated group key_value (MAP_KEY_VALUE) {\n"
220+
+ " repeated group key_value {\n"
221221
+ " required binary key (UTF8);\n"
222222
+ " optional group value {\n"
223223
+ " optional group name = 1 {\n"

parquet-thrift/src/test/java/org/apache/parquet/thrift/TestThriftSchemaConverterProjectUnion.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ public void testMapWithUnionKey() {
315315
"optMapWithUnionKey/key/**",
316316
"optMapWithUnionKey.key",
317317
"message ParquetSchema {\n" + " optional group optMapWithUnionKey (MAP) = 1 {\n"
318-
+ " repeated group key_value (MAP_KEY_VALUE) {\n"
318+
+ " repeated group key_value {\n"
319319
+ " required group key {\n"
320320
+ " optional group structV3 = 1 {\n"
321321
+ " required binary name (UTF8) = 1;\n"
@@ -348,7 +348,7 @@ public void testMapWithUnionKey() {
348348
"optMapWithUnionKey/key/**;optMapWithUnionKey/value/gender",
349349
"optMapWithUnionKey.{key,value.gender}",
350350
"message ParquetSchema {\n" + " optional group optMapWithUnionKey (MAP) = 1 {\n"
351-
+ " repeated group key_value (MAP_KEY_VALUE) {\n"
351+
+ " repeated group key_value {\n"
352352
+ " required group key {\n"
353353
+ " optional group structV3 = 1 {\n"
354354
+ " required binary name (UTF8) = 1;\n"
@@ -384,7 +384,7 @@ public void testMapWithUnionValue() {
384384
"optMapWithUnionValue/key/**;optMapWithUnionValue/value/structV4/addedStruct/gender",
385385
"optMapWithUnionValue.{key,value.structV4.addedStruct.gender}",
386386
"message ParquetSchema {\n" + " optional group optMapWithUnionValue (MAP) = 1 {\n"
387-
+ " repeated group key_value (MAP_KEY_VALUE) {\n"
387+
+ " repeated group key_value {\n"
388388
+ " required group key {\n"
389389
+ " required binary name (UTF8) = 1;\n"
390390
+ " optional binary age (UTF8) = 2;\n"

0 commit comments

Comments
 (0)