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