This is an automated email from the ASF dual-hosted git repository.

Jefffrey pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git


The following commit(s) were added to refs/heads/main by this push:
     new ed92960c8a Revert "chore: formalize the default map field names to 
match default arrow spec (#10297)" (#10506)
ed92960c8a is described below

commit ed92960c8a85eda657fce3525c905616ccc5a983
Author: Andrew Lamb <[email protected]>
AuthorDate: Sun Aug 2 00:27:12 2026 -0400

    Revert "chore: formalize the default map field names to match default arrow 
spec (#10297)" (#10506)
    
    # Which issue does this PR close?
    
    N/A
    
    cc @Jefffrey and @rluvaton
    
    # Rationale for this change
    
    #10297 changed the default map field names from `keys`/`values` to
    `key`/`value` to match the Arrow spec. This is a good change to align
    with the spec, but it is a breaking change: it broke the DataFusion
    upgrade (https://github.com/apache/datafusion/pull/24030) because data
    produced elsewhere (e.g. by other Arrow implementations) uses the old
    `keys`/`values` field names, causing schema mismatches such as:
    
    ```
    InvalidArgumentError("Incorrect datatype for StructArray field 
\"metadata\", expected Map(\"entries\": non-null Struct(\"keys\": non-null 
Utf8, \"values\": Utf8), unsorted) got Map(\"entries\": non-null 
Struct(\"key\": non-null Utf8, \"value\": Utf8), unsorted)")
    ```
    
    See discussion on #10297:
    https://github.com/apache/arrow-rs/pull/10297#issuecomment-5147036600
    
    We should hold the field name change for the next breaking release to
    minimize downstream churn on a minor release, rather than ship it in a
    minor release.
    
    # What changes are included in this PR?
    
    - Reverts b963ecf64745367274a4903f73a49b52958e412d (#10297), restoring
    the default map field names to `keys`/`values` (plural).
    - Updates a test added by #10475 after #10297 merged
    
    # Are these changes tested?
    
    Existing tests.
    
    # Are there any user-facing changes?
    
    Yes: this reverts the default `MapFieldNames` back to `keys`/`values`
    (as it was prior to #10297), rather than `key`/`value`. The intent is to
    reapply #10297 as part of the next breaking release.
---
 arrow-array/src/array/map_array.rs              |  94 ++++-----------
 arrow-array/src/array/mod.rs                    |   6 +-
 arrow-array/src/builder/map_builder.rs          |  46 ++-----
 arrow-avro/benches/avro_writer.rs               |  14 +--
 arrow-avro/src/codec.rs                         |   6 +-
 arrow-avro/src/reader/mod.rs                    |  68 +++++------
 arrow-avro/src/reader/record.rs                 |  10 +-
 arrow-avro/src/schema.rs                        |  42 ++-----
 arrow-avro/src/writer/encoder.rs                |  24 ++--
 arrow-cast/src/cast/mod.rs                      |  65 ++++++----
 arrow-cast/src/pretty.rs                        |   2 +-
 arrow-data/src/data.rs                          |  74 +++---------
 arrow-flight/src/encode.rs                      |  38 ++----
 arrow-flight/src/sql/metadata/sql_info.rs       |   6 +-
 arrow-integration-testing/src/lib.rs            |  12 +-
 arrow-ipc/src/reader.rs                         |  12 +-
 arrow-ipc/src/writer.rs                         |  49 ++------
 arrow-json/benches/json_reader.rs               |   6 +-
 arrow-json/src/reader/mod.rs                    |  42 +++----
 arrow-json/src/writer/mod.rs                    |  14 +--
 arrow-row/src/lib.rs                            | 152 +++++-------------------
 arrow-schema/src/datatype_display.rs            |  12 +-
 arrow-schema/src/datatype_parse.rs              |   6 +-
 arrow-schema/src/ffi.rs                         |  14 +--
 arrow-schema/src/field.rs                       |  12 --
 arrow-schema/src/fields.rs                      |  10 +-
 arrow/src/util/data_gen.rs                      |   6 +-
 arrow/tests/array_transform.rs                  |  18 +--
 parquet-variant-compute/src/arrow_to_variant.rs |   6 +-
 parquet-variant-compute/src/cast_to_variant.rs  |  16 +--
 parquet-variant-compute/src/shred_variant.rs    |   6 +-
 parquet-variant-compute/src/variant_to_arrow.rs |   6 +-
 parquet/src/arrow/array_reader/map_array.rs     |   6 +-
 parquet/src/arrow/arrow_writer/levels.rs        |  10 +-
 parquet/src/arrow/arrow_writer/mod.rs           |  20 ++--
 parquet/src/arrow/schema/mod.rs                 |  12 +-
 36 files changed, 307 insertions(+), 635 deletions(-)

diff --git a/arrow-array/src/array/map_array.rs 
b/arrow-array/src/array/map_array.rs
index f244ddf2b8..3d7648120b 100644
--- a/arrow-array/src/array/map_array.rs
+++ b/arrow-array/src/array/map_array.rs
@@ -372,13 +372,9 @@ impl MapArray {
         let entry_offsets_buffer = Buffer::from(entry_offsets.to_byte_slice());
         let keys_data = StringArray::from_iter_values(keys);
 
-        let keys_field = Arc::new(Field::new(
-            Field::MAP_KEY_FIELD_DEFAULT_NAME,
-            DataType::Utf8,
-            false,
-        ));
+        let keys_field = Arc::new(Field::new("keys", DataType::Utf8, false));
         let values_field = Arc::new(Field::new(
-            Field::MAP_VALUE_FIELD_DEFAULT_NAME,
+            "values",
             values.data_type().clone(),
             values.null_count() > 0,
         ));
@@ -390,7 +386,7 @@ impl MapArray {
 
         let map_data_type = DataType::Map(
             Arc::new(Field::new(
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                "entries",
                 entry_struct.data_type().clone(),
                 false,
             )),
@@ -635,16 +631,8 @@ mod tests {
         //  [[0, 1, 2], [3, 4, 5], [6, 7]]
         let entry_offsets = Buffer::from([0, 3, 6, 8].to_byte_slice());
 
-        let keys = Arc::new(Field::new(
-            Field::MAP_KEY_FIELD_DEFAULT_NAME,
-            DataType::Int32,
-            false,
-        ));
-        let values = Arc::new(Field::new(
-            Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-            DataType::UInt32,
-            false,
-        ));
+        let keys = Arc::new(Field::new("keys", DataType::Int32, false));
+        let values = Arc::new(Field::new("values", DataType::UInt32, false));
         let entry_struct = StructArray::from(vec![
             (keys, make_array(keys_data)),
             (values, make_array(values_data)),
@@ -653,7 +641,7 @@ mod tests {
         // Construct a map array from the above two
         let map_data_type = DataType::Map(
             Arc::new(Field::new(
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                "entries",
                 entry_struct.data_type().clone(),
                 false,
             )),
@@ -689,16 +677,8 @@ mod tests {
         //  [[0, 1, 2], [3, 4, 5], [6, 7]]
         let entry_offsets = Buffer::from([0, 3, 6, 8].to_byte_slice());
 
-        let keys_field = Arc::new(Field::new(
-            Field::MAP_KEY_FIELD_DEFAULT_NAME,
-            DataType::Int32,
-            false,
-        ));
-        let values_field = Arc::new(Field::new(
-            Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-            DataType::UInt32,
-            true,
-        ));
+        let keys_field = Arc::new(Field::new("keys", DataType::Int32, false));
+        let values_field = Arc::new(Field::new("values", DataType::UInt32, 
true));
         let entry_struct = StructArray::from(vec![
             (keys_field.clone(), make_array(key_data)),
             (values_field.clone(), make_array(value_data.clone())),
@@ -707,7 +687,7 @@ mod tests {
         // Construct a map array from the above two
         let map_data_type = DataType::Map(
             Arc::new(Field::new(
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                "entries",
                 entry_struct.data_type().clone(),
                 false,
             )),
@@ -818,16 +798,8 @@ mod tests {
         //  [[3, 4, 5], [6, 7]]
         let entry_offsets = Buffer::from([0, 3, 5].to_byte_slice());
 
-        let keys = Arc::new(Field::new(
-            Field::MAP_KEY_FIELD_DEFAULT_NAME,
-            DataType::Int32,
-            false,
-        ));
-        let values = Arc::new(Field::new(
-            Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-            DataType::UInt32,
-            false,
-        ));
+        let keys = Arc::new(Field::new("keys", DataType::Int32, false));
+        let values = Arc::new(Field::new("values", DataType::UInt32, false));
         let entry_struct = StructArray::from(vec![
             (keys, make_array(keys_data)),
             (values, make_array(values_data)),
@@ -836,7 +808,7 @@ mod tests {
         // Construct a map array from the above two
         let map_data_type = DataType::Map(
             Arc::new(Field::new(
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                "entries",
                 entry_struct.data_type().clone(),
                 false,
             )),
@@ -867,8 +839,8 @@ mod tests {
         // A DictionaryArray has similar buffer layout to a MapArray
         // but the meaning of the values differs
         let struct_t = DataType::Struct(Fields::from(vec![
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Int32, 
true),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::UInt32, 
true),
+            Field::new("keys", DataType::Int32, true),
+            Field::new("values", DataType::UInt32, true),
         ]));
         let dict_t = DataType::Dictionary(Box::new(DataType::Int32), 
Box::new(struct_t));
         let _ = MapArray::from(ArrayData::new_empty(&dict_t));
@@ -899,16 +871,8 @@ mod tests {
 
         let key_array = Arc::new(StringArray::from(vec!["a", "b", "c"])) as 
ArrayRef;
         let value_array = Arc::new(UInt32Array::from(vec![0u32, 10, 20])) as 
ArrayRef;
-        let keys_field = Arc::new(Field::new(
-            Field::MAP_KEY_FIELD_DEFAULT_NAME,
-            DataType::Utf8,
-            false,
-        ));
-        let values_field = Arc::new(Field::new(
-            Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-            DataType::UInt32,
-            false,
-        ));
+        let keys_field = Arc::new(Field::new("keys", DataType::Utf8, false));
+        let values_field = Arc::new(Field::new("values", DataType::UInt32, 
false));
         let struct_array =
             StructArray::from(vec![(keys_field, key_array), (values_field, 
value_array)]);
         assert_eq!(
@@ -932,8 +896,8 @@ mod tests {
     fn test_try_new() {
         let offsets = OffsetBuffer::new(vec![0, 1, 4, 5].into());
         let fields = Fields::from(vec![
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Int32, 
false),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::Int32, 
false),
+            Field::new("key", DataType::Int32, false),
+            Field::new("values", DataType::Int32, false),
         ]);
         let columns = vec![
             Arc::new(Int32Array::from(vec![1, 2, 3, 4, 5])) as _,
@@ -941,11 +905,7 @@ mod tests {
         ];
 
         let entries = StructArray::new(fields.clone(), columns, None);
-        let field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-            DataType::Struct(fields),
-            false,
-        ));
+        let field = Arc::new(Field::new("entries", DataType::Struct(fields), 
false));
 
         MapArray::new(field.clone(), offsets.clone(), entries.clone(), None, 
false);
 
@@ -998,11 +958,7 @@ mod tests {
         ];
 
         let s = StructArray::new(fields.clone(), columns, None);
-        let field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-            DataType::Struct(fields),
-            false,
-        ));
+        let field = Arc::new(Field::new("entries", DataType::Struct(fields), 
false));
         let err = MapArray::try_new(field, offsets, s, None, 
false).unwrap_err();
 
         assert_eq!(
@@ -1017,16 +973,12 @@ mod tests {
         let keys = Int32Array::from(vec![Some(1), None]);
         let values = Int32Array::from(vec![None, Some(2)]);
         let fields = Fields::from(vec![
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Int32, 
true),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::Int32, 
true),
+            Field::new("keys", DataType::Int32, true),
+            Field::new("values", DataType::Int32, true),
         ]);
         let entries =
             StructArray::new(fields.clone(), vec![Arc::new(keys), 
Arc::new(values)], None);
-        let field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-            DataType::Struct(fields),
-            false,
-        ));
+        let field = Arc::new(Field::new("entries", DataType::Struct(fields), 
false));
 
         let err = MapArray::try_new(field, OffsetBuffer::from_lengths([2]), 
entries, None, false)
             .unwrap_err();
diff --git a/arrow-array/src/array/mod.rs b/arrow-array/src/array/mod.rs
index cf1e0b85a0..e389b462fb 100644
--- a/arrow-array/src/array/mod.rs
+++ b/arrow-array/src/array/mod.rs
@@ -1178,10 +1178,10 @@ mod tests {
     fn test_null_map() {
         let data_type = DataType::Map(
             Arc::new(Field::new(
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                "entry",
                 DataType::Struct(Fields::from(vec![
-                    Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
-                    Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Int32, true),
+                    Field::new("key", DataType::Utf8, false),
+                    Field::new("value", DataType::Int32, true),
                 ])),
                 false,
             )),
diff --git a/arrow-array/src/builder/map_builder.rs 
b/arrow-array/src/builder/map_builder.rs
index d1862af4e8..a6d4918176 100644
--- a/arrow-array/src/builder/map_builder.rs
+++ b/arrow-array/src/builder/map_builder.rs
@@ -79,9 +79,9 @@ pub struct MapFieldNames {
 impl Default for MapFieldNames {
     fn default() -> Self {
         Self {
-            entry: Field::MAP_ENTRIES_FIELD_DEFAULT_NAME.to_string(),
-            key: Field::MAP_KEY_FIELD_DEFAULT_NAME.to_string(),
-            value: Field::MAP_VALUE_FIELD_DEFAULT_NAME.to_string(),
+            entry: "entries".to_string(),
+            key: "keys".to_string(),
+            value: "values".to_string(),
         }
     }
 }
@@ -395,14 +395,10 @@ mod tests {
             map.data_type(),
             &DataType::Map(
                 Arc::new(Field::new(
-                    Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                    "entries",
                     DataType::Struct(
                         vec![
-                            Arc::new(Field::new(
-                                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                                DataType::Int32,
-                                false
-                            )),
+                            Arc::new(Field::new("keys", DataType::Int32, 
false)),
                             value_field.clone()
                         ]
                         .into()
@@ -423,14 +419,10 @@ mod tests {
             map.data_type(),
             &DataType::Map(
                 Arc::new(Field::new(
-                    Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                    "entries",
                     DataType::Struct(
                         vec![
-                            Arc::new(Field::new(
-                                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                                DataType::Int32,
-                                false
-                            )),
+                            Arc::new(Field::new("keys", DataType::Int32, 
false)),
                             value_field
                         ]
                         .into()
@@ -447,7 +439,7 @@ mod tests {
         let mut key_metadata = HashMap::new();
         key_metadata.insert("foo".to_string(), "bar".to_string());
         let key_field = Arc::new(
-            Field::new("other_key", DataType::Int32, 
false).with_metadata(key_metadata.clone()),
+            Field::new("keys", DataType::Int32, 
false).with_metadata(key_metadata.clone()),
         );
         let mut builder = MapBuilder::new(None, Int32Builder::new(), 
Int32Builder::new())
             .with_keys_field(key_field.clone());
@@ -461,18 +453,14 @@ mod tests {
             map.data_type(),
             &DataType::Map(
                 Arc::new(Field::new(
-                    Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                    "entries",
                     DataType::Struct(
                         vec![
                             Arc::new(
-                                Field::new("other_key", DataType::Int32, false)
+                                Field::new("keys", DataType::Int32, false)
                                     .with_metadata(key_metadata)
                             ),
-                            Arc::new(Field::new(
-                                Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                                DataType::Int32,
-                                true
-                            ))
+                            Arc::new(Field::new("values", DataType::Int32, 
true))
                         ]
                         .into()
                     ),
@@ -523,11 +511,7 @@ mod tests {
     #[should_panic(expected = "Keys field must not be nullable")]
     fn test_with_nullable_keys_field() {
         let mut builder = MapBuilder::new(None, Int32Builder::new(), 
Int32Builder::new())
-            .with_keys_field(Arc::new(Field::new(
-                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                DataType::Int32,
-                true,
-            )));
+            .with_keys_field(Arc::new(Field::new("keys", DataType::Int32, 
true)));
 
         builder.keys().append_value(1);
         builder.values().append_value(2);
@@ -540,11 +524,7 @@ mod tests {
     #[should_panic(expected = "Incorrect datatype")]
     fn test_keys_field_type_mismatch() {
         let mut builder = MapBuilder::new(None, Int32Builder::new(), 
Int32Builder::new())
-            .with_keys_field(Arc::new(Field::new(
-                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                DataType::Utf8,
-                false,
-            )));
+            .with_keys_field(Arc::new(Field::new("keys", DataType::Utf8, 
false)));
 
         builder.keys().append_value(1);
         builder.values().append_value(2);
diff --git a/arrow-avro/benches/avro_writer.rs 
b/arrow-avro/benches/avro_writer.rs
index efb8141985..58b014c5a3 100644
--- a/arrow-avro/benches/avro_writer.rs
+++ b/arrow-avro/benches/avro_writer.rs
@@ -623,18 +623,10 @@ static DECIMAL256_DATA: Lazy<Vec<RecordBatch>> = 
Lazy::new(|| {
 static MAP_DATA: Lazy<Vec<RecordBatch>> = Lazy::new(|| {
     use arrow_array::builder::{MapBuilder, StringBuilder};
 
-    let key_field = Arc::new(Field::new(
-        Field::MAP_KEY_FIELD_DEFAULT_NAME,
-        DataType::Utf8,
-        false,
-    ));
-    let value_field = Arc::new(Field::new(
-        Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-        DataType::Utf8,
-        true,
-    ));
+    let key_field = Arc::new(Field::new("keys", DataType::Utf8, false));
+    let value_field = Arc::new(Field::new("values", DataType::Utf8, true));
     let entry_struct = Field::new(
-        Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+        "entries",
         DataType::Struct(vec![key_field.as_ref().clone(), 
value_field.as_ref().clone()].into()),
         false,
     );
diff --git a/arrow-avro/src/codec.rs b/arrow-avro/src/codec.rs
index c95218d48f..fc101ae0b5 100644
--- a/arrow-avro/src/codec.rs
+++ b/arrow-avro/src/codec.rs
@@ -931,12 +931,12 @@ impl Codec {
             }
             Self::Struct(f) => DataType::Struct(f.iter().map(|x| 
x.field()).collect()),
             Self::Map(value_type) => {
-                let val_field = 
value_type.field_with_name(Field::MAP_VALUE_FIELD_DEFAULT_NAME);
+                let val_field = value_type.field_with_name("value");
                 DataType::Map(
                     Arc::new(Field::new(
-                        Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                        "entries",
                         DataType::Struct(Fields::from(vec![
-                            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
+                            Field::new("key", DataType::Utf8, false),
                             val_field,
                         ])),
                         false,
diff --git a/arrow-avro/src/reader/mod.rs b/arrow-avro/src/reader/mod.rs
index 03730e6045..cee51a89e5 100644
--- a/arrow-avro/src/reader/mod.rs
+++ b/arrow-avro/src/reader/mod.rs
@@ -3041,16 +3041,12 @@ mod test {
             list_builder.append(true);
         }
         arrays.push(Arc::new(list_builder.finish()));
-        let values_field = Arc::new(Field::new(
-            Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-            DataType::Int64,
-            false,
-        ));
+        let values_field = Arc::new(Field::new("value", DataType::Int64, 
false));
         let mut map_builder = MapBuilder::new(
             Some(builder::MapFieldNames {
-                entry: Field::MAP_ENTRIES_FIELD_DEFAULT_NAME.to_string(),
-                key: Field::MAP_KEY_FIELD_DEFAULT_NAME.to_string(),
-                value: Field::MAP_VALUE_FIELD_DEFAULT_NAME.to_string(),
+                entry: "entries".to_string(),
+                key: "key".to_string(),
+                value: "value".to_string(),
             }),
             StringBuilder::new(),
             Int64Builder::new(),
@@ -6275,9 +6271,9 @@ mod test {
         iaa_builder.append(true);
         let int_array_array = iaa_builder.finish();
         let field_names = MapFieldNames {
-            entry: Field::MAP_ENTRIES_FIELD_DEFAULT_NAME.to_string(),
-            key: Field::MAP_KEY_FIELD_DEFAULT_NAME.to_string(),
-            value: Field::MAP_VALUE_FIELD_DEFAULT_NAME.to_string(),
+            entry: "entries".to_string(),
+            key: "key".to_string(),
+            value: "value".to_string(),
         };
         let mut int_map_builder =
             MapBuilder::new(Some(field_names), StringBuilder::new(), 
Int32Builder::new());
@@ -6289,9 +6285,9 @@ mod test {
         int_map_builder.append(true).unwrap(); // finalize map for row 0
         let int_map = int_map_builder.finish();
         let field_names2 = MapFieldNames {
-            entry: Field::MAP_ENTRIES_FIELD_DEFAULT_NAME.to_string(),
-            key: Field::MAP_KEY_FIELD_DEFAULT_NAME.to_string(),
-            value: Field::MAP_VALUE_FIELD_DEFAULT_NAME.to_string(),
+            entry: "entries".to_string(),
+            key: "key".to_string(),
+            value: "value".to_string(),
         };
         let mut ima_builder = ListBuilder::new(MapBuilder::new(
             Some(field_names2),
@@ -6377,17 +6373,17 @@ mod test {
             .with_metadata(meta_h.clone());
         // G.value : Struct<{ h: ... }> with metadata (G)
         let g_value_struct_field = Field::new(
-            Field::MAP_VALUE_FIELD_DEFAULT_NAME,
+            "value",
             DataType::Struct(vec![h_field.clone()].into()),
             true,
         )
         .with_metadata(meta_g_value.clone());
         // entries struct for Map G
         let entries_struct_field = Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(
                 vec![
-                    Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
+                    Field::new("key", DataType::Utf8, false),
                     g_value_struct_field.clone(),
                 ]
                 .into(),
@@ -6446,9 +6442,9 @@ mod test {
                 },
                 {
                     let map_field_names = MapFieldNames {
-                        entry: 
Field::MAP_ENTRIES_FIELD_DEFAULT_NAME.to_string(),
-                        key: Field::MAP_KEY_FIELD_DEFAULT_NAME.to_string(),
-                        value: Field::MAP_VALUE_FIELD_DEFAULT_NAME.to_string(),
+                        entry: "entries".to_string(),
+                        key: "key".to_string(),
+                        value: "value".to_string(),
                     };
                     let i_list_builder = 
ListBuilder::new(Float64Builder::new());
                     let h_struct_builder = StructBuilder::new(
@@ -6474,7 +6470,7 @@ mod test {
                     )
                     .with_values_field(Arc::new(
                         Field::new(
-                            Field::MAP_VALUE_FIELD_DEFAULT_NAME,
+                            "value",
                             DataType::Struct(vec![h_field.clone()].into()),
                             true,
                         )
@@ -8708,11 +8704,11 @@ mod test {
         )
         .unwrap();
         let map_entries_field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(Fields::from(vec![
-                Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
+                Field::new("key", DataType::Utf8, false),
                 Field::new(
-                    Field::MAP_VALUE_FIELD_DEFAULT_NAME,
+                    "value",
                     DataType::Union(uf_map_vals.clone(), UnionMode::Dense),
                     true,
                 ),
@@ -8742,10 +8738,10 @@ mod test {
             Field::new("y", DataType::Binary, false),
         ]);
         let union_map_entries = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(Fields::from(vec![
-                Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
-                Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
+                Field::new("key", DataType::Utf8, false),
+                Field::new("value", DataType::Utf8, false),
             ])),
             false,
         ));
@@ -8924,10 +8920,10 @@ mod test {
             Field::new(item_name, DataType::Struct(kv_fields.clone()), 
false).with_metadata(kv_md),
         );
         let map_int_entries = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(Fields::from(vec![
-                Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
-                Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Int32, false),
+                Field::new("key", DataType::Utf8, false),
+                Field::new("value", DataType::Int32, false),
             ])),
             false,
         ));
@@ -9170,8 +9166,8 @@ mod test {
                 let vals = Int32Array::from(vec![1, 2, 10]);
                 let entries = StructArray::new(
                     Fields::from(vec![
-                        Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
-                        Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Int32, false),
+                        Field::new("key", DataType::Utf8, false),
+                        Field::new("value", DataType::Int32, false),
                     ]),
                     vec![Arc::new(keys) as ArrayRef, Arc::new(vals) as 
ArrayRef],
                     None,
@@ -9319,8 +9315,8 @@ mod test {
                     let vals = StringArray::from(vec!["v"]);
                     let entries = StructArray::new(
                         Fields::from(vec![
-                            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
-                            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
+                            Field::new("key", DataType::Utf8, false),
+                            Field::new("value", DataType::Utf8, false),
                         ]),
                         vec![Arc::new(keys) as ArrayRef, Arc::new(vals) as 
ArrayRef],
                         None,
@@ -9398,9 +9394,9 @@ mod test {
             });
             let entries = StructArray::new(
                 Fields::from(vec![
-                    Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
+                    Field::new("key", DataType::Utf8, false),
                     Field::new(
-                        Field::MAP_VALUE_FIELD_DEFAULT_NAME,
+                        "value",
                         DataType::Union(uf_map_vals.clone(), UnionMode::Dense),
                         true,
                     ),
diff --git a/arrow-avro/src/reader/record.rs b/arrow-avro/src/reader/record.rs
index aeac2fec93..1d152870d7 100644
--- a/arrow-avro/src/reader/record.rs
+++ b/arrow-avro/src/reader/record.rs
@@ -505,15 +505,11 @@ impl Decoder {
                 Self::Record(arrow_fields.into(), encodings, field_defaults, 
projector)
             }
             (Codec::Map(child), _) => {
-                let val_field = 
child.field_with_name(ArrowField::MAP_VALUE_FIELD_DEFAULT_NAME);
+                let val_field = child.field_with_name("value");
                 let map_field = Arc::new(ArrowField::new(
-                    ArrowField::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                    "entries",
                     DataType::Struct(Fields::from(vec![
-                        ArrowField::new(
-                            ArrowField::MAP_KEY_FIELD_DEFAULT_NAME,
-                            DataType::Utf8,
-                            false,
-                        ),
+                        ArrowField::new("key", DataType::Utf8, false),
                         val_field,
                     ])),
                     false,
diff --git a/arrow-avro/src/schema.rs b/arrow-avro/src/schema.rs
index ab797e7cbc..1b0c2e26f7 100644
--- a/arrow-avro/src/schema.rs
+++ b/arrow-avro/src/schema.rs
@@ -2991,19 +2991,11 @@ mod tests {
         let avro_list = AvroSchema::try_from(&list_schema).unwrap();
         assert_json_contains(&avro_list.json_string, "\"type\":\"array\"");
         assert_json_contains(&avro_list.json_string, "\"items\"");
-        let value_field = ArrowField::new(
-            arrow_schema::Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-            DataType::Boolean,
-            true,
-        );
+        let value_field = ArrowField::new("value", DataType::Boolean, true);
         let entries_struct = ArrowField::new(
-            arrow_schema::Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(Fields::from(vec![
-                ArrowField::new(
-                    arrow_schema::Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                    DataType::Utf8,
-                    false,
-                ),
+                ArrowField::new("key", DataType::Utf8, false),
                 value_field.clone(),
             ])),
             false,
@@ -3201,19 +3193,11 @@ mod tests {
     #[cfg(feature = "avro_custom_types")]
     #[test]
     fn test_map_duration_value_extra() {
-        let val_field = ArrowField::new(
-            ArrowField::MAP_VALUE_FIELD_DEFAULT_NAME,
-            DataType::Duration(TimeUnit::Second),
-            true,
-        );
+        let val_field = ArrowField::new("value", 
DataType::Duration(TimeUnit::Second), true);
         let entries_struct = ArrowField::new(
-            ArrowField::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(Fields::from(vec![
-                ArrowField::new(
-                    ArrowField::MAP_KEY_FIELD_DEFAULT_NAME,
-                    DataType::Utf8,
-                    false,
-                ),
+                ArrowField::new("key", DataType::Utf8, false),
                 val_field,
             ])),
             false,
@@ -3260,19 +3244,11 @@ mod tests {
         );
         let expected_b = ArrowField::new("b", 
DataType::List(Arc::new(expected_list_item)), false);
 
-        let expected_map_value = ArrowField::new(
-            arrow_schema::Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-            DataType::Float64,
-            false,
-        );
+        let expected_map_value = ArrowField::new("value", DataType::Float64, 
false);
         let expected_entries = ArrowField::new(
-            arrow_schema::Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(Fields::from(vec![
-                ArrowField::new(
-                    arrow_schema::Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                    DataType::Utf8,
-                    false,
-                ),
+                ArrowField::new("key", DataType::Utf8, false),
                 expected_map_value,
             ])),
             false,
diff --git a/arrow-avro/src/writer/encoder.rs b/arrow-avro/src/writer/encoder.rs
index 23ace7d049..bdfd91ffdd 100644
--- a/arrow-avro/src/writer/encoder.rs
+++ b/arrow-avro/src/writer/encoder.rs
@@ -1011,7 +1011,7 @@ fn find_struct_child_index(fields: &arrow_schema::Fields, 
name: &str) -> Option<
 
 fn find_map_value_field_index(fields: &arrow_schema::Fields) -> Option<usize> {
     // Prefer common Arrow field names; fall back to second child if exactly 
two
-    find_struct_child_index(fields, Field::MAP_VALUE_FIELD_DEFAULT_NAME)
+    find_struct_child_index(fields, "value")
         .or_else(|| find_struct_child_index(fields, "values"))
         .or_else(|| if fields.len() == 2 { Some(1) } else { None })
 }
@@ -2893,8 +2893,8 @@ mod tests {
         let keys = StringArray::from(vec!["k1", "k2"]);
         let values = Int32Array::from(vec![1, 2]);
         let entries_fields = Fields::from(vec![
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::Int32, 
true),
+            Field::new("key", DataType::Utf8, false),
+            Field::new("value", DataType::Int32, true),
         ]);
         let entries = StructArray::new(
             entries_fields,
@@ -2903,12 +2903,7 @@ mod tests {
         );
         let offsets = arrow_buffer::OffsetBuffer::new(vec![0i32, 2, 2].into());
         let map = MapArray::new(
-            Field::new(
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-                entries.data_type().clone(),
-                false,
-            )
-            .into(),
+            Field::new("entries", entries.data_type().clone(), false).into(),
             offsets,
             entries,
             None,
@@ -3383,8 +3378,8 @@ mod tests {
         let values = Int32Array::from(vec![Some(7), None]);
 
         let entries_fields = Fields::from(vec![
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::Int32, 
true),
+            Field::new("key", DataType::Utf8, false),
+            Field::new("value", DataType::Int32, true),
         ]);
         let entries = StructArray::new(
             entries_fields,
@@ -3395,12 +3390,7 @@ mod tests {
         // Single row -> offsets [0, 2]
         let offsets = arrow_buffer::OffsetBuffer::new(vec![0i32, 2].into());
         let map = MapArray::new(
-            Field::new(
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-                entries.data_type().clone(),
-                false,
-            )
-            .into(),
+            Field::new("entries", entries.data_type().clone(), false).into(),
             offsets,
             entries,
             None,
diff --git a/arrow-cast/src/cast/mod.rs b/arrow-cast/src/cast/mod.rs
index f13e23ffd5..20a3068e95 100644
--- a/arrow-cast/src/cast/mod.rs
+++ b/arrow-cast/src/cast/mod.rs
@@ -9138,10 +9138,10 @@ mod tests {
         // Cast null from and to map
         let data_type = DataType::Map(
             Arc::new(Field::new_struct(
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                "entry",
                 vec![
-                    Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
-                    Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Int32, true),
+                    Field::new("key", DataType::Utf8, false),
+                    Field::new("value", DataType::Int32, true),
                 ],
                 false,
             )),
@@ -10142,7 +10142,15 @@ mod tests {
     fn test_cast_map_dont_allow_change_of_order() {
         let string_builder = StringBuilder::new();
         let value_builder = StringBuilder::new();
-        let mut builder = MapBuilder::new(None, string_builder, value_builder);
+        let mut builder = MapBuilder::new(
+            Some(MapFieldNames {
+                entry: "entries".to_string(),
+                key: "key".to_string(),
+                value: "value".to_string(),
+            }),
+            string_builder,
+            value_builder,
+        );
 
         builder.keys().append_value("0");
         builder.values().append_value("test_val_1");
@@ -10157,11 +10165,11 @@ mod tests {
         let new_ordered = true;
         let new_type = DataType::Map(
             Arc::new(Field::new(
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                "entries",
                 DataType::Struct(
                     vec![
-                        Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
-                        Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
+                        Field::new("key", DataType::Utf8, false),
+                        Field::new("value", DataType::Utf8, false),
                     ]
                     .into(),
                 ),
@@ -10185,7 +10193,15 @@ mod tests {
     fn test_cast_map_dont_allow_when_container_cant_cast() {
         let string_builder = StringBuilder::new();
         let value_builder = IntervalDayTimeArray::builder(2);
-        let mut builder = MapBuilder::new(None, string_builder, value_builder);
+        let mut builder = MapBuilder::new(
+            Some(MapFieldNames {
+                entry: "entries".to_string(),
+                key: "key".to_string(),
+                value: "value".to_string(),
+            }),
+            string_builder,
+            value_builder,
+        );
 
         builder.keys().append_value("0");
         builder.values().append_value(IntervalDayTime::new(1, 1));
@@ -10200,15 +10216,11 @@ mod tests {
         let new_ordered = true;
         let new_type = DataType::Map(
             Arc::new(Field::new(
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                "entries",
                 DataType::Struct(
                     vec![
-                        Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
-                        Field::new(
-                            Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                            DataType::Duration(TimeUnit::Second),
-                            false,
-                        ),
+                        Field::new("key", DataType::Utf8, false),
+                        Field::new("value", 
DataType::Duration(TimeUnit::Second), false),
                     ]
                     .into(),
                 ),
@@ -10234,10 +10246,9 @@ mod tests {
         let value_builder = StringBuilder::new();
         let mut builder = MapBuilder::new(
             Some(MapFieldNames {
-                // Explicitly writing the name so it will be apparent from 
what names to what names are we converting to
-                entry: Field::MAP_ENTRIES_FIELD_DEFAULT_NAME.to_string(),
-                key: Field::MAP_KEY_FIELD_DEFAULT_NAME.to_string(),
-                value: Field::MAP_VALUE_FIELD_DEFAULT_NAME.to_string(),
+                entry: "entries".to_string(),
+                key: "key".to_string(),
+                value: "value".to_string(),
             }),
             string_builder,
             value_builder,
@@ -10307,7 +10318,15 @@ mod tests {
     fn test_cast_map_contained_values() {
         let string_builder = StringBuilder::new();
         let value_builder = Int8Builder::new();
-        let mut builder = MapBuilder::new(None, string_builder, value_builder);
+        let mut builder = MapBuilder::new(
+            Some(MapFieldNames {
+                entry: "entries".to_string(),
+                key: "key".to_string(),
+                value: "value".to_string(),
+            }),
+            string_builder,
+            value_builder,
+        );
 
         builder.keys().append_value("0");
         builder.values().append_value(44);
@@ -10320,11 +10339,11 @@ mod tests {
 
         let new_type = DataType::Map(
             Arc::new(Field::new(
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                "entries",
                 DataType::Struct(
                     vec![
-                        Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
-                        Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
+                        Field::new("key", DataType::Utf8, false),
+                        Field::new("value", DataType::Utf8, false),
                     ]
                     .into(),
                 ),
diff --git a/arrow-cast/src/pretty.rs b/arrow-cast/src/pretty.rs
index ca6f82a031..61ce559899 100644
--- a/arrow-cast/src/pretty.rs
+++ b/arrow-cast/src/pretty.rs
@@ -1486,7 +1486,7 @@ mod tests {
             Int32Builder::new(),
         )
         .with_values_field(
-            Field::new("my_values", DataType::Int32, 
true).with_metadata(money_metadata.clone()),
+            Field::new("values", DataType::Int32, 
true).with_metadata(money_metadata.clone()),
         );
         array
             .keys()
diff --git a/arrow-data/src/data.rs b/arrow-data/src/data.rs
index 8a037bc0f5..2c9dfe6ddb 100644
--- a/arrow-data/src/data.rs
+++ b/arrow-data/src/data.rs
@@ -2884,7 +2884,7 @@ mod tests {
     #[test]
     fn should_fail_validation_when_having_map_entries_only_have_1_field() {
         let struct_data_type = DataType::Struct(Fields::from(vec![Field::new(
-            Field::MAP_KEY_FIELD_DEFAULT_NAME,
+            "key",
             DataType::Int32,
             false,
         )]));
@@ -2901,15 +2901,7 @@ mod tests {
         };
 
         let results = test_both_builder_and_array_data(
-            DataType::Map(
-                Field::new(
-                    Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-                    struct_data_type,
-                    false,
-                )
-                .into(),
-                false,
-            ),
+            DataType::Map(Field::new("entries", struct_data_type, 
false).into(), false),
             1,
             None,
             0,
@@ -2939,8 +2931,8 @@ mod tests {
     #[test]
     fn should_fail_validation_when_having_map_entries_have_3_fields() {
         let struct_data_type = DataType::Struct(Fields::from(vec![
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Int32, 
false),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::Utf8, 
true),
+            Field::new("key", DataType::Int32, false),
+            Field::new("values", DataType::Utf8, true),
             Field::new("other", DataType::Int32, true),
         ]));
 
@@ -2960,15 +2952,7 @@ mod tests {
         };
 
         let results = test_both_builder_and_array_data(
-            DataType::Map(
-                Field::new(
-                    Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-                    struct_data_type,
-                    false,
-                )
-                .into(),
-                false,
-            ),
+            DataType::Map(Field::new("entries", struct_data_type, 
false).into(), false),
             1,
             None,
             0,
@@ -2998,8 +2982,8 @@ mod tests {
     #[test]
     fn should_fail_validation_when_having_nullable_map_keys() {
         let struct_data_type = DataType::Struct(Fields::from(vec![
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Int32, 
true),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::Utf8, 
true),
+            Field::new("key", DataType::Int32, true),
+            Field::new("values", DataType::Utf8, true),
         ]));
 
         let key_array_data = valid_non_nullable_int32_array_data(2);
@@ -3015,15 +2999,7 @@ mod tests {
         };
 
         let results = test_both_builder_and_array_data(
-            DataType::Map(
-                Field::new(
-                    Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-                    struct_data_type,
-                    false,
-                )
-                .into(),
-                false,
-            ),
+            DataType::Map(Field::new("entries", struct_data_type, 
false).into(), false),
             1,
             None,
             0,
@@ -3050,8 +3026,8 @@ mod tests {
     #[test]
     fn should_fail_validation_when_having_entries_is_nullable_for_map() {
         let struct_data_type = DataType::Struct(Fields::from(vec![
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Int32, 
false),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::Utf8, 
true),
+            Field::new("key", DataType::Int32, false),
+            Field::new("values", DataType::Utf8, true),
         ]));
 
         let key_array_data = valid_non_nullable_int32_array_data(2);
@@ -3068,15 +3044,7 @@ mod tests {
         };
 
         let results = test_both_builder_and_array_data(
-            DataType::Map(
-                Field::new(
-                    Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-                    struct_data_type,
-                    true,
-                )
-                .into(),
-                false,
-            ),
+            DataType::Map(Field::new("entries", struct_data_type, 
true).into(), false),
             1,
             None,
             0,
@@ -3104,8 +3072,8 @@ mod tests {
     #[test]
     fn should_allow_to_create_map_from_data() {
         let struct_data_type = DataType::Struct(Fields::from(vec![
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Int32, 
false),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::Utf8, 
true),
+            Field::new("key", DataType::Int32, false),
+            Field::new("values", DataType::Utf8, true),
         ]));
 
         let key_array_data = valid_non_nullable_int32_array_data(2);
@@ -3121,15 +3089,7 @@ mod tests {
         };
 
         let results = test_both_builder_and_array_data(
-            DataType::Map(
-                Field::new(
-                    Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-                    struct_data_type,
-                    false,
-                )
-                .into(),
-                false,
-            ),
+            DataType::Map(Field::new("entries", struct_data_type, 
false).into(), false),
             1,
             None,
             0,
@@ -3175,10 +3135,10 @@ mod tests {
     fn empty_and_null_map_array_should_pass_validation() {
         let dt = DataType::Map(
             Field::new(
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                "entries",
                 DataType::Struct(Fields::from(vec![
-                    Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Int32, false),
-                    Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Utf8, true),
+                    Field::new("key", DataType::Int32, false),
+                    Field::new("values", DataType::Utf8, true),
                 ])),
                 false,
             )
diff --git a/arrow-flight/src/encode.rs b/arrow-flight/src/encode.rs
index a33b0e2d9a..6adf4153c0 100644
--- a/arrow-flight/src/encode.rs
+++ b/arrow-flight/src/encode.rs
@@ -1503,19 +1503,9 @@ mod tests {
 
         let schema = Arc::new(Schema::new(vec![Field::new_map(
             "dict_map",
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-            Field::new_dictionary(
-                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                DataType::UInt16,
-                DataType::Utf8,
-                false,
-            ),
-            Field::new_dictionary(
-                Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                DataType::UInt16,
-                DataType::Utf8,
-                true,
-            ),
+            "entries",
+            Field::new_dictionary("keys", DataType::UInt16, DataType::Utf8, 
false),
+            Field::new_dictionary("values", DataType::UInt16, DataType::Utf8, 
true),
             false,
             false,
         )]));
@@ -1530,9 +1520,9 @@ mod tests {
         let mut decoder = FlightDataDecoder::new(encoder);
         let expected_schema = Schema::new(vec![Field::new_map(
             "dict_map",
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::Utf8, 
true),
+            "entries",
+            Field::new("keys", DataType::Utf8, false),
+            Field::new("values", DataType::Utf8, true),
             false,
             false,
         )]);
@@ -1609,19 +1599,9 @@ mod tests {
 
         let schema = Arc::new(Schema::new(vec![Field::new_map(
             "dict_map",
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-            Field::new_dictionary(
-                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                DataType::UInt16,
-                DataType::Utf8,
-                false,
-            ),
-            Field::new_dictionary(
-                Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                DataType::UInt16,
-                DataType::Utf8,
-                true,
-            ),
+            "entries",
+            Field::new_dictionary("keys", DataType::UInt16, DataType::Utf8, 
false),
+            Field::new_dictionary("values", DataType::UInt16, DataType::Utf8, 
true),
             false,
             false,
         )]));
diff --git a/arrow-flight/src/sql/metadata/sql_info.rs 
b/arrow-flight/src/sql/metadata/sql_info.rs
index 885d15dd6f..155946ea6c 100644
--- a/arrow-flight/src/sql/metadata/sql_info.rs
+++ b/arrow-flight/src/sql/metadata/sql_info.rs
@@ -179,11 +179,11 @@ static UNION_TYPE: Lazy<DataType> = Lazy::new(|| {
             "int32_to_int32_list_map",
             DataType::Map(
                 Arc::new(Field::new(
-                    Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                    "entries",
                     DataType::Struct(Fields::from(vec![
-                        Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Int32, false),
+                        Field::new("keys", DataType::Int32, false),
                         Field::new(
-                            Field::MAP_VALUE_FIELD_DEFAULT_NAME,
+                            "values",
                             
DataType::List(Arc::new(Field::new_list_field(DataType::Int32, true))),
                             true,
                         ),
diff --git a/arrow-integration-testing/src/lib.rs 
b/arrow-integration-testing/src/lib.rs
index 613408ae59..cf572d769d 100644
--- a/arrow-integration-testing/src/lib.rs
+++ b/arrow-integration-testing/src/lib.rs
@@ -86,22 +86,18 @@ pub fn canonicalize_schema(schema: &Schema) -> Schema {
             DataType::Map(child_field, sorted) => match 
child_field.data_type() {
                 DataType::Struct(fields) if fields.len() == 2 => {
                     let first_field = &fields[0];
-                    let key_field = Arc::new(Field::new(
-                        Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                        first_field.data_type().clone(),
-                        false,
-                    ));
+                    let key_field =
+                        Arc::new(Field::new("key", 
first_field.data_type().clone(), false));
                     let second_field = &fields[1];
                     let value_field = Arc::new(Field::new(
-                        Field::MAP_VALUE_FIELD_DEFAULT_NAME,
+                        "value",
                         second_field.data_type().clone(),
                         second_field.is_nullable(),
                     ));
 
                     let fields = Fields::from([key_field, value_field]);
                     let struct_type = DataType::Struct(fields);
-                    let child_field =
-                        Field::new(Field::MAP_ENTRIES_FIELD_DEFAULT_NAME, 
struct_type, false);
+                    let child_field = Field::new("entries", struct_type, 
false);
 
                     Arc::new(Field::new(
                         field.name().as_str(),
diff --git a/arrow-ipc/src/reader.rs b/arrow-ipc/src/reader.rs
index 8349cafc72..672091da2a 100644
--- a/arrow-ipc/src/reader.rs
+++ b/arrow-ipc/src/reader.rs
@@ -2748,7 +2748,7 @@ mod tests {
 
         #[allow(deprecated)]
         let keys_field = Arc::new(Field::new_dict(
-            Field::MAP_KEY_FIELD_DEFAULT_NAME,
+            "keys",
             DataType::Dictionary(Box::new(DataType::Int8), 
Box::new(DataType::Utf8)),
             false,
             1,
@@ -2756,7 +2756,7 @@ mod tests {
         ));
         #[allow(deprecated)]
         let values_field = Arc::new(Field::new_dict(
-            Field::MAP_VALUE_FIELD_DEFAULT_NAME,
+            "values",
             DataType::Dictionary(Box::new(DataType::Int8), 
Box::new(DataType::Utf8)),
             true,
             2,
@@ -2768,7 +2768,7 @@ mod tests {
         ]);
         let map_data_type = DataType::Map(
             Arc::new(Field::new(
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                "entries",
                 entry_struct.data_type().clone(),
                 false,
             )),
@@ -2959,7 +2959,7 @@ mod tests {
         let key_dict_array = DictionaryArray::new(key_dict_keys, 
utf8_view_array.clone());
         #[allow(deprecated)]
         let keys_field = Arc::new(Field::new_dict(
-            Field::MAP_KEY_FIELD_DEFAULT_NAME,
+            "keys",
             DataType::Dictionary(Box::new(DataType::Int8), 
Box::new(DataType::Utf8View)),
             false,
             1,
@@ -2970,7 +2970,7 @@ mod tests {
         let value_dict_array = DictionaryArray::new(value_dict_keys, 
bin_view_array);
         #[allow(deprecated)]
         let values_field = Arc::new(Field::new_dict(
-            Field::MAP_VALUE_FIELD_DEFAULT_NAME,
+            "values",
             DataType::Dictionary(Box::new(DataType::Int8), 
Box::new(DataType::BinaryView)),
             true,
             2,
@@ -2983,7 +2983,7 @@ mod tests {
 
         let map_data_type = DataType::Map(
             Arc::new(Field::new(
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                "entries",
                 entry_struct.data_type().clone(),
                 false,
             )),
diff --git a/arrow-ipc/src/writer.rs b/arrow-ipc/src/writer.rs
index 7cdb4618f8..73994fad8e 100644
--- a/arrow-ipc/src/writer.rs
+++ b/arrow-ipc/src/writer.rs
@@ -4091,24 +4091,9 @@ mod tests {
 
     #[test]
     fn encode_map_array() {
-        let keys = Arc::new(Field::new(
-            Field::MAP_KEY_FIELD_DEFAULT_NAME,
-            DataType::UInt32,
-            false,
-        ));
-        let values = Arc::new(Field::new(
-            Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-            DataType::UInt32,
-            true,
-        ));
-        let map_field = Field::new_map(
-            "map",
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-            keys,
-            values,
-            false,
-            true,
-        );
+        let keys = Arc::new(Field::new("keys", DataType::UInt32, false));
+        let values = Arc::new(Field::new("values", DataType::UInt32, true));
+        let map_field = Field::new_map("map", "entries", keys, values, false, 
true);
         let schema = Arc::new(Schema::new(vec![map_field]));
 
         let values = Arc::new(generate_map_array_data());
@@ -4440,17 +4425,17 @@ mod tests {
 
         #[allow(deprecated)]
         let entries_field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(
                 vec![
                     Field::new_dict(
-                        Field::MAP_KEY_FIELD_DEFAULT_NAME,
+                        "key",
                         DataType::Dictionary(Box::new(DataType::Int32), 
Box::new(DataType::Utf8)),
                         false,
                         1,
                         false,
                     ),
-                    Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Int32, true),
+                    Field::new("value", DataType::Int32, true),
                 ]
                 .into(),
             ),
@@ -4460,18 +4445,14 @@ mod tests {
         let entries = StructArray::from(vec![
             (
                 Arc::new(Field::new(
-                    Field::MAP_KEY_FIELD_DEFAULT_NAME,
+                    "key",
                     DataType::Dictionary(Box::new(DataType::Int32), 
Box::new(DataType::Utf8)),
                     false,
                 )),
                 Arc::new(dict_keys) as ArrayRef,
             ),
             (
-                Arc::new(Field::new(
-                    Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                    DataType::Int32,
-                    true,
-                )),
+                Arc::new(Field::new("value", DataType::Int32, true)),
                 Arc::new(values) as ArrayRef,
             ),
         ]);
@@ -4512,12 +4493,12 @@ mod tests {
 
         #[allow(deprecated)]
         let entries_field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(
                 vec![
-                    Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
+                    Field::new("key", DataType::Utf8, false),
                     Field::new_dict(
-                        Field::MAP_VALUE_FIELD_DEFAULT_NAME,
+                        "value",
                         DataType::Dictionary(Box::new(DataType::Int32), 
Box::new(DataType::Utf8)),
                         true,
                         2,
@@ -4531,16 +4512,12 @@ mod tests {
 
         let entries = StructArray::from(vec![
             (
-                Arc::new(Field::new(
-                    Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                    DataType::Utf8,
-                    false,
-                )),
+                Arc::new(Field::new("key", DataType::Utf8, false)),
                 Arc::new(keys) as ArrayRef,
             ),
             (
                 Arc::new(Field::new(
-                    Field::MAP_VALUE_FIELD_DEFAULT_NAME,
+                    "value",
                     DataType::Dictionary(Box::new(DataType::Int32), 
Box::new(DataType::Utf8)),
                     true,
                 )),
diff --git a/arrow-json/benches/json_reader.rs 
b/arrow-json/benches/json_reader.rs
index 3fb35f2d55..36ab1b82fe 100644
--- a/arrow-json/benches/json_reader.rs
+++ b/arrow-json/benches/json_reader.rs
@@ -363,11 +363,11 @@ fn build_map_values(rows: usize, entries: usize) -> 
Vec<Value> {
 
 fn build_map_schema() -> Arc<Schema> {
     let entries_field = Arc::new(Field::new(
-        Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+        "entries",
         DataType::Struct(
             vec![
-                Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
-                Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Int64, true),
+                Field::new("keys", DataType::Utf8, false),
+                Field::new("values", DataType::Int64, true),
             ]
             .into(),
         ),
diff --git a/arrow-json/src/reader/mod.rs b/arrow-json/src/reader/mod.rs
index ee8d0a542a..6c2ce5cba0 100644
--- a/arrow-json/src/reader/mod.rs
+++ b/arrow-json/src/reader/mod.rs
@@ -1287,13 +1287,9 @@ mod tests {
         "#;
         let map = Field::new_map(
             "map",
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
-            Field::new_list(
-                Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                Field::new("element", DataType::Utf8, true),
-                true,
-            ),
+            "entries",
+            Field::new("key", DataType::Utf8, false),
+            Field::new_list("value", Field::new("element", DataType::Utf8, 
true), true),
             false,
             true,
         );
@@ -1329,9 +1325,9 @@ mod tests {
     fn test_map_non_nullable_value() {
         let map = Field::new_map(
             "map",
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
+            "entries",
+            Field::new("keys", DataType::Utf8, false),
+            Field::new("values", DataType::Utf8, false),
             false,
             false,
         );
@@ -1346,7 +1342,7 @@ mod tests {
 
         assert_eq!(
             err.to_string(),
-            "Invalid argument error: Found unmasked nulls for non-nullable 
StructArray field \"value\""
+            "Invalid argument error: Found unmasked nulls for non-nullable 
StructArray field \"values\""
         );
     }
 
@@ -3065,9 +3061,9 @@ mod tests {
             Field::new("b", DataType::new_list(DataType::Int32, true), true),
             Field::new_map(
                 "c",
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-                Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
-                Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Int32, true),
+                "entries",
+                Field::new("keys", DataType::Utf8, false),
+                Field::new("values", DataType::Int32, true),
                 false,
                 false,
             ),
@@ -3255,10 +3251,10 @@ mod tests {
                 "map",
                 DataType::Map(
                     Arc::new(Field::new(
-                        Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                        "entries",
                         DataType::Struct(Fields::from(vec![
-                            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
-                            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Utf8, true),
+                            Field::new("keys", DataType::Utf8, false),
+                            Field::new("values", DataType::Utf8, true),
                         ])),
                         false, // not nullable
                     )),
@@ -3513,10 +3509,10 @@ mod tests {
                 "map",
                 DataType::Map(
                     Arc::new(Field::new(
-                        Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                        "entries",
                         DataType::Struct(Fields::from(vec![
-                            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
-                            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Utf8, true),
+                            Field::new("keys", DataType::Utf8, false),
+                            Field::new("values", DataType::Utf8, true),
                         ])),
                         false, // not nullable
                     )),
@@ -3574,10 +3570,10 @@ mod tests {
                 "map",
                 DataType::Map(
                     Arc::new(Field::new(
-                        Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                        "entries",
                         DataType::Struct(Fields::from(vec![
-                            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
-                            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Utf8, true),
+                            Field::new("keys", DataType::Utf8, false),
+                            Field::new("values", DataType::Utf8, true),
                         ])),
                         false, // not nullable
                     )),
diff --git a/arrow-json/src/writer/mod.rs b/arrow-json/src/writer/mod.rs
index 341779afed..559916d06a 100644
--- a/arrow-json/src/writer/mod.rs
+++ b/arrow-json/src/writer/mod.rs
@@ -1421,23 +1421,15 @@ mod tests {
     fn run_json_writer_map_with_keys(keys_array: ArrayRef) {
         let values_array = super::Int64Array::from(vec![10, 20, 30, 40, 50]);
 
-        let keys_field = Arc::new(Field::new(
-            Field::MAP_KEY_FIELD_DEFAULT_NAME,
-            keys_array.data_type().clone(),
-            false,
-        ));
-        let values_field = Arc::new(Field::new(
-            Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-            DataType::Int64,
-            false,
-        ));
+        let keys_field = Arc::new(Field::new("keys", 
keys_array.data_type().clone(), false));
+        let values_field = Arc::new(Field::new("values", DataType::Int64, 
false));
         let entry_struct = StructArray::from(vec![
             (keys_field, keys_array.clone()),
             (values_field, Arc::new(values_array) as ArrayRef),
         ]);
 
         let entries_field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             entry_struct.data_type().clone(),
             false,
         ));
diff --git a/arrow-row/src/lib.rs b/arrow-row/src/lib.rs
index b647dab288..3d0a20dbbd 100644
--- a/arrow-row/src/lib.rs
+++ b/arrow-row/src/lib.rs
@@ -4426,11 +4426,7 @@ mod tests {
     #[test]
     fn test_single_map_with_non_nullable_values() {
         // Use `with_values_field` on `MapBuilder` to set the values are not 
nullable
-        let value_field = Arc::new(Field::new(
-            Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-            DataType::Int32,
-            false,
-        ));
+        let value_field = Arc::new(Field::new("values", DataType::Int32, 
false));
         let mut builder = MapBuilder::new(None, StringBuilder::new(), 
Int32Builder::new())
             .with_values_field(value_field);
         // Entry 0: {"a": 1, "b": 2}
@@ -4468,11 +4464,7 @@ mod tests {
     #[test]
     fn test_single_map_with_non_nullable_map_but_with_nullable_values() {
         // Map column is non-nullable, but values are nullable
-        let value_field = Arc::new(Field::new(
-            Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-            DataType::Int32,
-            true,
-        ));
+        let value_field = Arc::new(Field::new("values", DataType::Int32, 
true));
         let mut builder = MapBuilder::new(None, StringBuilder::new(), 
Int32Builder::new())
             .with_values_field(value_field);
 
@@ -4853,17 +4845,9 @@ mod tests {
         let nulls = NullBuffer::from_iter((0..len).map(|_| 
rng.random_bool(valid_percent)));
         let field = Arc::new(Field::new_map(
             "",
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-            Field::new(
-                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                keys.data_type().clone(),
-                false,
-            ),
-            Field::new(
-                Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                values.data_type().clone(),
-                true,
-            ),
+            "entries",
+            Field::new("keys", keys.data_type().clone(), false),
+            Field::new("values", values.data_type().clone(), true),
             false,
             true,
         ));
@@ -6371,19 +6355,11 @@ mod tests {
 
         let offsets = OffsetBuffer::new(vec![0, 1, 1, 3].into());
         let entries_fields = vec![
-            Arc::new(Field::new(
-                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                DataType::Utf8,
-                false,
-            )),
-            Arc::new(Field::new(
-                Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                DataType::Null,
-                true,
-            )),
+            Arc::new(Field::new("keys", DataType::Utf8, false)),
+            Arc::new(Field::new("values", DataType::Null, true)),
         ];
         let struct_field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(entries_fields.clone().into()),
             false,
         ));
@@ -6410,19 +6386,11 @@ mod tests {
 
         let offsets = OffsetBuffer::new(vec![0, 1, 1, 3].into());
         let entries_fields = vec![
-            Arc::new(Field::new(
-                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                DataType::Utf8,
-                false,
-            )),
-            Arc::new(Field::new(
-                Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                DataType::Null,
-                true,
-            )),
+            Arc::new(Field::new("keys", DataType::Utf8, false)),
+            Arc::new(Field::new("values", DataType::Null, true)),
         ];
         let struct_field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(entries_fields.clone().into()),
             false,
         ));
@@ -6448,19 +6416,11 @@ mod tests {
 
         let offsets = OffsetBuffer::new(vec![0i32].into());
         let entries_fields = vec![
-            Arc::new(Field::new(
-                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                DataType::Utf8,
-                false,
-            )),
-            Arc::new(Field::new(
-                Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                DataType::Null,
-                true,
-            )),
+            Arc::new(Field::new("keys", DataType::Utf8, false)),
+            Arc::new(Field::new("values", DataType::Null, true)),
         ];
         let struct_field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(entries_fields.clone().into()),
             false,
         ));
@@ -6484,19 +6444,11 @@ mod tests {
 
         let offsets = OffsetBuffer::new(vec![0, 1, 1, 3].into());
         let entries_fields = vec![
-            Arc::new(Field::new(
-                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                DataType::Utf8,
-                false,
-            )),
-            Arc::new(Field::new(
-                Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                DataType::Null,
-                true,
-            )),
+            Arc::new(Field::new("keys", DataType::Utf8, false)),
+            Arc::new(Field::new("values", DataType::Null, true)),
         ];
         let struct_field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(entries_fields.clone().into()),
             false,
         ));
@@ -6522,19 +6474,11 @@ mod tests {
 
         let offsets = OffsetBuffer::new(vec![0, 0, 0, 0].into());
         let entries_fields = vec![
-            Arc::new(Field::new(
-                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                DataType::Utf8,
-                false,
-            )),
-            Arc::new(Field::new(
-                Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                DataType::Null,
-                true,
-            )),
+            Arc::new(Field::new("keys", DataType::Utf8, false)),
+            Arc::new(Field::new("values", DataType::Null, true)),
         ];
         let struct_field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(entries_fields.clone().into()),
             false,
         ));
@@ -6563,19 +6507,11 @@ mod tests {
         let inner_null_values = Arc::new(NullArray::new(3)) as ArrayRef;
 
         let inner_entries_fields = vec![
-            Arc::new(Field::new(
-                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                DataType::Utf8,
-                false,
-            )),
-            Arc::new(Field::new(
-                Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                DataType::Null,
-                true,
-            )),
+            Arc::new(Field::new("keys", DataType::Utf8, false)),
+            Arc::new(Field::new("values", DataType::Null, true)),
         ];
         let inner_struct_field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(inner_entries_fields.clone().into()),
             false,
         ));
@@ -6599,19 +6535,11 @@ mod tests {
 
         let inner_map_type = DataType::Map(inner_struct_field.clone(), false);
         let outer_entries_fields = vec![
-            Arc::new(Field::new(
-                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                DataType::Utf8,
-                false,
-            )),
-            Arc::new(Field::new(
-                Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                inner_map_type,
-                true,
-            )),
+            Arc::new(Field::new("keys", DataType::Utf8, false)),
+            Arc::new(Field::new("values", inner_map_type, true)),
         ];
         let outer_struct_field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(outer_entries_fields.clone().into()),
             false,
         ));
@@ -6646,19 +6574,11 @@ mod tests {
         let null_values = Arc::new(NullArray::new(3)) as ArrayRef;
 
         let entries_fields = vec![
-            Arc::new(Field::new(
-                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                DataType::Utf8,
-                false,
-            )),
-            Arc::new(Field::new(
-                Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                DataType::Null,
-                true,
-            )),
+            Arc::new(Field::new("keys", DataType::Utf8, false)),
+            Arc::new(Field::new("values", DataType::Null, true)),
         ];
         let struct_field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(entries_fields.clone().into()),
             false,
         ));
@@ -6705,19 +6625,11 @@ mod tests {
 
         let list_type = list_array.data_type().clone();
         let entries_fields = vec![
-            Arc::new(Field::new(
-                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                DataType::Utf8,
-                false,
-            )),
-            Arc::new(Field::new(
-                Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                list_type,
-                true,
-            )),
+            Arc::new(Field::new("keys", DataType::Utf8, false)),
+            Arc::new(Field::new("values", list_type, true)),
         ];
         let struct_field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(entries_fields.clone().into()),
             false,
         ));
diff --git a/arrow-schema/src/datatype_display.rs 
b/arrow-schema/src/datatype_display.rs
index 5b0ff86fce..cca7cf254f 100644
--- a/arrow-schema/src/datatype_display.rs
+++ b/arrow-schema/src/datatype_display.rs
@@ -432,11 +432,11 @@ mod tests {
     #[test]
     fn test_display_map() {
         let entry_field = Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(
                 vec![
-                    Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
-                    Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Int32, true),
+                    Field::new("key", DataType::Utf8, false),
+                    Field::new("value", DataType::Int32, true),
                 ]
                 .into(),
             ),
@@ -450,11 +450,11 @@ mod tests {
 
         // Test with metadata
         let mut entry_field_with_metadata = Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(
                 vec![
-                    Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
-                    Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Int32, true),
+                    Field::new("key", DataType::Utf8, false),
+                    Field::new("value", DataType::Int32, true),
                 ]
                 .into(),
             ),
diff --git a/arrow-schema/src/datatype_parse.rs 
b/arrow-schema/src/datatype_parse.rs
index cc4dbf44ad..8721954086 100644
--- a/arrow-schema/src/datatype_parse.rs
+++ b/arrow-schema/src/datatype_parse.rs
@@ -1209,9 +1209,9 @@ mod test {
             DataType::Map(
                 Arc::new(Field::new_map(
                     "nested_map",
-                    Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-                    Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
-                    Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Int32, true),
+                    "entries",
+                    Field::new("key", DataType::Utf8, false),
+                    Field::new("value", DataType::Int32, true),
                     false,
                     true,
                 )),
diff --git a/arrow-schema/src/ffi.rs b/arrow-schema/src/ffi.rs
index 5c73014346..0ce819e35e 100644
--- a/arrow-schema/src/ffi.rs
+++ b/arrow-schema/src/ffi.rs
@@ -958,19 +958,13 @@ mod tests {
 
     #[test]
     fn test_map_keys_sorted() {
-        let keys = Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Int32, false);
-        let values = Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::UInt32, false);
+        let keys = Field::new("keys", DataType::Int32, false);
+        let values = Field::new("values", DataType::UInt32, false);
         let entry_struct = DataType::Struct(vec![keys, values].into());
 
         // Construct a map array from the above two
-        let map_data_type = DataType::Map(
-            Arc::new(Field::new(
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-                entry_struct,
-                false,
-            )),
-            true,
-        );
+        let map_data_type =
+            DataType::Map(Arc::new(Field::new("entries", entry_struct, 
false)), true);
 
         let arrow_schema = FFI_ArrowSchema::try_from(map_data_type).unwrap();
         assert!(arrow_schema.map_keys_sorted());
diff --git a/arrow-schema/src/field.rs b/arrow-schema/src/field.rs
index a5d272f49f..0d12728ca2 100644
--- a/arrow-schema/src/field.rs
+++ b/arrow-schema/src/field.rs
@@ -181,18 +181,6 @@ impl AsRef<Field> for Field {
 impl Field {
     /// Default list member field name
     pub const LIST_FIELD_DEFAULT_NAME: &'static str = "item";
-    /// Default field name for the entries field for Map
-    ///
-    /// See [Arrow 
Spec](https://github.com/apache/arrow/blob/b19c4761b558ade94ae05743062d92aacedef10e/format/Schema.fbs#L127-L138))
-    pub const MAP_ENTRIES_FIELD_DEFAULT_NAME: &'static str = "entries";
-    /// Default field name for the key field for Map
-    ///
-    /// See [Arrow 
Spec](https://github.com/apache/arrow/blob/b19c4761b558ade94ae05743062d92aacedef10e/format/Schema.fbs#L127-L138))
-    pub const MAP_KEY_FIELD_DEFAULT_NAME: &'static str = "key";
-    /// Default field name for the value field for Map
-    ///
-    /// See [Arrow 
Spec](https://github.com/apache/arrow/blob/b19c4761b558ade94ae05743062d92aacedef10e/format/Schema.fbs#L127-L138))
-    pub const MAP_VALUE_FIELD_DEFAULT_NAME: &'static str = "value";
 
     /// Creates a new field with the given name, data type, and nullability
     ///
diff --git a/arrow-schema/src/fields.rs b/arrow-schema/src/fields.rs
index f06d5631ed..3d19cb963f 100644
--- a/arrow-schema/src/fields.rs
+++ b/arrow-schema/src/fields.rs
@@ -675,13 +675,9 @@ mod tests {
             ),
             Field::new_map(
                 "g",
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-                Field::new(
-                    Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                    DataType::LargeUtf8,
-                    false,
-                ),
-                Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Int32, true),
+                "entries",
+                Field::new("keys", DataType::LargeUtf8, false),
+                Field::new("values", DataType::Int32, true),
                 false,
                 false,
             ),
diff --git a/arrow/src/util/data_gen.rs b/arrow/src/util/data_gen.rs
index 1953519df4..20bf4fc0ef 100644
--- a/arrow/src/util/data_gen.rs
+++ b/arrow/src/util/data_gen.rs
@@ -849,9 +849,9 @@ mod tests {
     fn test_create_map_array() {
         let map_field = Field::new_map(
             "map",
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::Utf8, 
true),
+            "entries",
+            Field::new("key", DataType::Utf8, false),
+            Field::new("value", DataType::Utf8, true),
             false,
             false,
         );
diff --git a/arrow/tests/array_transform.rs b/arrow/tests/array_transform.rs
index 630e9fd596..548e7c3a26 100644
--- a/arrow/tests/array_transform.rs
+++ b/arrow/tests/array_transform.rs
@@ -798,19 +798,11 @@ fn test_map_nulls_append() {
 
     let expected_entry_array = StructArray::from(vec![
         (
-            Arc::new(Field::new(
-                Field::MAP_KEY_FIELD_DEFAULT_NAME,
-                DataType::Int64,
-                false,
-            )),
+            Arc::new(Field::new("keys", DataType::Int64, false)),
             Arc::new(expected_key_array) as ArrayRef,
         ),
         (
-            Arc::new(Field::new(
-                Field::MAP_VALUE_FIELD_DEFAULT_NAME,
-                DataType::Int64,
-                true,
-            )),
+            Arc::new(Field::new("values", DataType::Int64, true)),
             Arc::new(expected_value_array) as ArrayRef,
         ),
     ]);
@@ -820,10 +812,10 @@ fn test_map_nulls_append() {
     let expected_list_data = ArrayData::try_new(
         DataType::Map(
             Arc::new(Field::new(
-                Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                "entries",
                 DataType::Struct(Fields::from(vec![
-                    Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Int64, false),
-                    Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Int64, true),
+                    Field::new("keys", DataType::Int64, false),
+                    Field::new("values", DataType::Int64, true),
                 ])),
                 false,
             )),
diff --git a/parquet-variant-compute/src/arrow_to_variant.rs 
b/parquet-variant-compute/src/arrow_to_variant.rs
index b9e7fff064..03a84109ff 100644
--- a/parquet-variant-compute/src/arrow_to_variant.rs
+++ b/parquet-variant-compute/src/arrow_to_variant.rs
@@ -1378,8 +1378,8 @@ mod tests {
         let keys = StringArray::from(vec!["key1", "key2", "key3"]);
         let values = Int32Array::from(vec![1, 2, 3]);
         let entries_fields = Fields::from(vec![
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::Int32, 
true),
+            Field::new("key", DataType::Utf8, false),
+            Field::new("value", DataType::Int32, true),
         ]);
         let entries = StructArray::new(
             entries_fields.clone(),
@@ -1399,7 +1399,7 @@ mod tests {
 
         // Create the map field
         let map_field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(entries_fields),
             false, // Keys are non-nullable
         ));
diff --git a/parquet-variant-compute/src/cast_to_variant.rs 
b/parquet-variant-compute/src/cast_to_variant.rs
index ef90e61373..1b26ffe07d 100644
--- a/parquet-variant-compute/src/cast_to_variant.rs
+++ b/parquet-variant-compute/src/cast_to_variant.rs
@@ -1983,8 +1983,8 @@ mod tests {
         let keys = StringArray::from(vec!["key1", "key2", "key3"]);
         let values = Int32Array::from(vec![1, 2, 3]);
         let entries_fields = Fields::from(vec![
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::Int32, 
true),
+            Field::new("key", DataType::Utf8, false),
+            Field::new("value", DataType::Int32, true),
         ]);
         let entries = StructArray::new(
             entries_fields.clone(),
@@ -1999,7 +1999,7 @@ mod tests {
         let null_buffer = Some(NullBuffer::from(vec![true, true, false, 
true]));
 
         let map_field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(entries_fields),
             false,
         ));
@@ -2039,8 +2039,8 @@ mod tests {
     fn test_cast_to_variant_map_with_non_string_keys() {
         let offsets = OffsetBuffer::new(vec![0, 1, 3].into());
         let fields = Fields::from(vec![
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Int32, 
false),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::Int32, 
false),
+            Field::new("key", DataType::Int32, false),
+            Field::new("values", DataType::Int32, false),
         ]);
         let columns = vec![
             Arc::new(Int32Array::from(vec![1, 2, 3])) as _,
@@ -2048,11 +2048,7 @@ mod tests {
         ];
 
         let entries = StructArray::new(fields.clone(), columns, None);
-        let field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-            DataType::Struct(fields),
-            false,
-        ));
+        let field = Arc::new(Field::new("entries", DataType::Struct(fields), 
false));
 
         let map_array = MapArray::new(field.clone(), offsets.clone(), 
entries.clone(), None, false);
 
diff --git a/parquet-variant-compute/src/shred_variant.rs 
b/parquet-variant-compute/src/shred_variant.rs
index 495728b9a4..389012ddc0 100644
--- a/parquet-variant-compute/src/shred_variant.rs
+++ b/parquet-variant-compute/src/shred_variant.rs
@@ -1471,10 +1471,10 @@ mod tests {
             ),
             DataType::Map(
                 Arc::new(Field::new(
-                    Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                    "entries",
                     DataType::Struct(Fields::from(vec![
-                        Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
DataType::Utf8, false),
-                        Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Int32, true),
+                        Field::new("key", DataType::Utf8, false),
+                        Field::new("value", DataType::Int32, true),
                     ])),
                     false,
                 )),
diff --git a/parquet-variant-compute/src/variant_to_arrow.rs 
b/parquet-variant-compute/src/variant_to_arrow.rs
index d7c61b7653..66666ee138 100644
--- a/parquet-variant-compute/src/variant_to_arrow.rs
+++ b/parquet-variant-compute/src/variant_to_arrow.rs
@@ -1460,10 +1460,10 @@ mod tests {
         let item_field = Arc::new(Field::new("item", DataType::Int32, true));
         let struct_fields = Fields::from(vec![Field::new("child", 
DataType::Int32, true)]);
         let map_entries_field = Arc::new(Field::new(
-            Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+            "entries",
             DataType::Struct(Fields::from(vec![
-                Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
-                Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
DataType::Float64, true),
+                Field::new("key", DataType::Utf8, false),
+                Field::new("value", DataType::Float64, true),
             ])),
             true,
         ));
diff --git a/parquet/src/arrow/array_reader/map_array.rs 
b/parquet/src/arrow/array_reader/map_array.rs
index 117f3b73ba..5d88df6cea 100644
--- a/parquet/src/arrow/array_reader/map_array.rs
+++ b/parquet/src/arrow/array_reader/map_array.rs
@@ -158,10 +158,10 @@ mod tests {
             "map",
             ArrowType::Map(
                 Arc::new(Field::new(
-                    Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
+                    "entries",
                     ArrowType::Struct(Fields::from(vec![
-                        Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, 
ArrowType::Utf8, false),
-                        Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, 
ArrowType::Int32, true),
+                        Field::new("keys", ArrowType::Utf8, false),
+                        Field::new("values", ArrowType::Int32, true),
                     ])),
                     false,
                 )),
diff --git a/parquet/src/arrow/arrow_writer/levels.rs 
b/parquet/src/arrow/arrow_writer/levels.rs
index 7dfb875efd..2781898694 100644
--- a/parquet/src/arrow/arrow_writer/levels.rs
+++ b/parquet/src/arrow/arrow_writer/levels.rs
@@ -1908,17 +1908,13 @@ mod tests {
         {"stocks":{"hedged": "$YYY", "long": null, "short": "$D"}}
         "#;
         let entries_struct_type = DataType::Struct(Fields::from(vec![
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::Utf8, 
true),
+            Field::new("key", DataType::Utf8, false),
+            Field::new("value", DataType::Utf8, true),
         ]));
         let stocks_field = Field::new(
             "stocks",
             DataType::Map(
-                Arc::new(Field::new(
-                    Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-                    entries_struct_type,
-                    false,
-                )),
+                Arc::new(Field::new("entries", entries_struct_type, false)),
                 false,
             ),
             // not nullable, so the keys have max level = 1
diff --git a/parquet/src/arrow/arrow_writer/mod.rs 
b/parquet/src/arrow/arrow_writer/mod.rs
index 207b4c3327..8b9aea2e12 100644
--- a/parquet/src/arrow/arrow_writer/mod.rs
+++ b/parquet/src/arrow/arrow_writer/mod.rs
@@ -2752,17 +2752,13 @@ mod tests {
         {"stocks":{"hedged": "$YYY", "long": null, "short": "$D"}}
         "#;
         let entries_struct_type = DataType::Struct(Fields::from(vec![
-            Field::new(Field::MAP_KEY_FIELD_DEFAULT_NAME, DataType::Utf8, 
false),
-            Field::new(Field::MAP_VALUE_FIELD_DEFAULT_NAME, DataType::Utf8, 
true),
+            Field::new("key", DataType::Utf8, false),
+            Field::new("value", DataType::Utf8, true),
         ]));
         let stocks_field = Field::new(
             "stocks",
             DataType::Map(
-                Arc::new(Field::new(
-                    Field::MAP_ENTRIES_FIELD_DEFAULT_NAME,
-                    entries_struct_type,
-                    false,
-                )),
+                Arc::new(Field::new("entries", entries_struct_type, false)),
                 false,
             ),
             true,
@@ -3901,9 +3897,9 @@ mod tests {
             Field::new_list("my_list", Field::new("item", DataType::Int32, 
false), false);
         let map_field = Field::new_map(
             "my_map",
-            "my_entries",
-            Field::new("my_keys", DataType::Int32, false),
-            Field::new("my_values", DataType::Int32, true),
+            "entries",
+            Field::new("keys", DataType::Int32, false),
+            Field::new("values", DataType::Int32, true),
             false,
             true,
         );
@@ -3931,9 +3927,9 @@ mod tests {
         let map_field = &schema.get_fields()[1].get_fields()[0];
         // Coerced name of "entries" should be "key_value"
         assert_eq!(map_field.name(), "key_value");
-        // Coerced name of "my_keys" should be "key"
+        // Coerced name of "keys" should be "key"
         assert_eq!(map_field.get_fields()[0].name(), "key");
-        // Coerced name of "my_values" should be "value"
+        // Coerced name of "values" should be "value"
         assert_eq!(map_field.get_fields()[1].name(), "value");
 
         // Double check schema after reading from the file
diff --git a/parquet/src/arrow/schema/mod.rs b/parquet/src/arrow/schema/mod.rs
index f1d7ea7e88..7878e7c49b 100644
--- a/parquet/src/arrow/schema/mod.rs
+++ b/parquet/src/arrow/schema/mod.rs
@@ -1731,9 +1731,9 @@ mod tests {
             ),
             Field::new_map(
                 "my_map",
-                "my_entries",
-                Field::new("my_keys", DataType::Utf8, false),
-                Field::new("my_values", DataType::Int32, true),
+                "entries",
+                Field::new("keys", DataType::Utf8, false),
+                Field::new("values", DataType::Int32, true),
                 false,
                 true,
             ),
@@ -1776,9 +1776,9 @@ mod tests {
                 }
             }
             OPTIONAL GROUP my_map (MAP) {
-                REPEATED GROUP my_entries {
-                    REQUIRED BINARY my_keys (STRING);
-                    OPTIONAL INT32 my_values;
+                REPEATED GROUP entries {
+                    REQUIRED BINARY keys (STRING);
+                    OPTIONAL INT32 values;
                 }
             }
         }

Reply via email to