diff --git a/src/io/parquet/write/schema.rs b/src/io/parquet/write/schema.rs index ee60e98ac13..cdadc74725c 100644 --- a/src/io/parquet/write/schema.rs +++ b/src/io/parquet/write/schema.rs @@ -295,6 +295,20 @@ pub fn to_parquet_type(field: &Field) -> Result { None, )?) } + DataType::Decimal256(precision, scale) => { + let precision = *precision; + let scale = *scale; + let logical_type = Some(PrimitiveLogicalType::Decimal(precision, scale)); + + Ok(ParquetType::try_from_primitive( + name, + PhysicalType::FixedLenByteArray(16), + repetition, + None, + logical_type, + None, + )?) + } DataType::Interval(_) => Ok(ParquetType::try_from_primitive( name, PhysicalType::FixedLenByteArray(12),