For the record, the pull request was now merged in Arrow/Parquet C++.
Thanks a lot Sarah!

Regards

Antoine.


On Fri, 22 Aug 2025 13:54:30 +0000
Sarah Gilmore
<sgilm...@mathworks.com.INVALID> wrote:
> Hi Antoine,
> 
> Thanks for the clarification! I'll update the pull request based on your 
> feedback.
> 
> Thanks again!
> 
> Best,
> Sarah
> ________________________________
> From: Antoine Pitrou <anto...@python.org>
> Sent: Thursday, August 21, 2025 11:42 AM
> To: d...@parquet.incubator.apache.org <d...@parquet.incubator.apache.org>
> Subject: Re: Purpose of the isAdjustedToUTC TIME parameter
> 
> 
> Hi Sarah,
> 
> My answer in two points:
> 
> 1) Yes, it is fine to add an option so that all situations can be
> covered.
> 2) I don't think converted type compatibility is important anymore
> (logical types were added to the Parquet spec in 2017!), so my vote is
> for the default value of the option to be `false`.
> 
> Regards
> 
> Antoine.
> 
> 
> On Thu, 21 Aug 2025 14:00:12 +0000
> Sarah Gilmore
> <sgilm...@mathworks.com.INVALID> wrote:
> > Hi Antoine,
> >
> > Thank you for the quick response and for clarifying the use case!
> >
> > I agree that it would be more accurate to write the Arrow Time type to 
> > Parquet with `isAdjustedToUTC=false`. My understanding is that this is not 
> > the default behavior due to the requirements specified by the Parquet 
> > Compatibility Guidelines regarding the deprecation of TIME_MILLIS and 
> > TIME_MICROS[1]. At least, that was my takeaway from this discussion[2], but 
> > please correct me if I'm wrong.
> >
> > Given this context, it seems adding a flag to the Arrow Parquet writer to 
> > let users control the `isAdjustedToUTC` value would be a reasonable 
> > enhancement.
> >
> > Thanks again!
> >
> > Best,
> >
> > Sarah
> >
> > [1] 
> > https://github.com/apache/parquet-format/blob/master/LogicalTypes.md#deprecated-time-convertedtype<https://github.com/apache/parquet-format/blob/master/LogicalTypes.md#deprecated-time-convertedtype>
> > [2] 
> > https://github.com/apache/arrow/issues/41476#issuecomment-2088094499<https://github.com/apache/arrow/issues/41476#issuecomment-2088094499>
> > ________________________________________
> > From: Antoine Pitrou <antoine-+zn9apsxkcednm+yrof...@public.gmane.org>
> > Sent: Thursday, August 21, 2025 5:55 AM
> > To: d...@parquet.incubator.apache.org <d...@parquet.incubator.apache.org>
> > Subject: Re: Purpose of the isAdjustedToUTC TIME parameter
> >
> >
> > Hi Sarah,
> >
> > Thanks for bringing this to our attention. I had missed the Arrow PR.
> >
> > As for the Parquet spec, the purpose of the `isAdjustedToUTC` flag
> > seems clear:
> > * if `isAdjustedToUTC` is true, the TIME value is expressed in
> > reference to midnight in the UTC timezone
> > * if `isAdjustedToUTC` is false, the TIME value is expressed in
> > reference to midnight in an unknown timezone (presumably the "local
> > timezone" where the measurements were made)
> >
> > As for the Arrow behavior, the Arrow Time type actually doesn't
> > reference UTC. So, as I've argued on the PR, the Arrow Time type should
> > probably be written to Parquet with `isAdjustedToUTC=false`.
> >
> > Regards
> >
> > Antoine.
> >
> >
> >
> > On Wed, 20 Aug 2025 14:18:59 +0000
> > Sarah Gilmore
> > <sgilm...@mathworks.com.INVALID> wrote:  
> > > Hi all,
> > > I recently opened a pull request[1] in the apache/arrow project to extend 
> > > the Arrow Parquet writer to support writing TIME data with 
> > > isAdjustedToUTC=false. For your reference, the Arrow Parquet writer 
> > > defaults to exporting Arrow time data as Parquet TIME data with 
> > > isAdjustedToUTC=true, even though Arrow time types are timezone-agnostic, 
> > > in order to follow the Parquet Compatibility Guidelines[2] regarding the 
> > > deprecation of ConvertedTypes TIME_MILLIS and TIME_MICROS.
> > > However, progress on this pull request has stalled because the Arrow 
> > > community is confused about the purpose of the isAdjustedToUTC 
> > > parameter[3], and some members think the best strategy moving forward 
> > > would be to deprecate it[4].
> > > Could the Parquet community provide some background about why the TIME 
> > > type is parameterized on isAdjustedToUTC? Are there plans to deprecate 
> > > this parameter in the future?
> > > Any information the community can provide would be much appreciated, 
> > > because it will help the Arrow community decide whether it makes sense to 
> > > add a flag for controlling this parameter to the Arrow Parquet writer.
> > > I appreciate the community's time and thoughts on this issue.
> > > Thank you!
> > > Best,
> > > Sarah Gilmore
> > > [1] 
> > > https://github.com/apache/arrow/pull/47316<https://github.com/apache/arrow/pull/47316>
> > > [2] 
> > > https://github.com/apache/parquet-format/blob/master/LogicalTypes.md#deprecated-time-convertedtype<https://github.com/apache/parquet-format/blob/master/LogicalTypes.md#deprecated-time-convertedtype>
> > > [3] 
> > > https://github.com/apache/arrow/pull/43268#discussion_r1686692052<https://github.com/apache/arrow/pull/43268#discussion_r1686692052>
> > > [4] 
> > > https://github.com/apache/arrow/pull/47316#issuecomment-3190380012<https://github.com/apache/arrow/pull/47316#issuecomment-3190380012>
> > >
> > >  
> >
> >
> >
> >  
> 
> 
> 



Reply via email to