This PR introduces nanosecond precision time and timestamp types to parquet-mr. 
It depends on https://github.com/apache/parquet-format/pull/102, should be 
committed once this format change is released.

Nanosecond precision is introduced only into the new logical type API, the old 
version (ConvertedType in format and OriginalType in mr) doesn't have a 
corresponding enum value for nanoseconds. Therefore in the Thrift schema these 
fields will be null, only new releases can interpret nanosecond precision, 
older readers can only see the physical type.

In addition to nanosecond precision, I also refactored the modules to use the 
new logical type API for internal decisions (e.g.: replaced the 
OriginalType-based switch cases, for example in type builder when checking if 
the proper annotation is present on physical type). This part (
commit with title: Refactor modules to use the new logical type API) doesn't 
need new format release, and can be split out from this PR if needed.

[ Full content available at: https://github.com/apache/parquet-mr/pull/519 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to