diff --git a/pyiceberg/io/pyarrow.py b/pyiceberg/io/pyarrow.py index cee2ccac72..2fdee17441 100644 --- a/pyiceberg/io/pyarrow.py +++ b/pyiceberg/io/pyarrow.py @@ -1805,7 +1805,7 @@ def struct( elif field.initial_default is None: field_arrays.append(pa.nulls(len(struct_array), type=arrow_type)) else: - field_arrays.append(pa.repeat(field.initial_default, len(struct_array))) + field_arrays.append(pa.repeat(pa.scalar(field.initial_default, type=arrow_type), len(struct_array))) fields.append(self._construct_field(field, arrow_type)) else: raise ResolveError(f"Field is required, and could not be found in the file: {field}")