nero created ARROW-15492:
----------------------------

             Summary: [Python] handle timestamp type in parquet file for 
compatibility with older HiveQL
                 Key: ARROW-15492
                 URL: https://issues.apache.org/jira/browse/ARROW-15492
             Project: Apache Arrow
          Issue Type: New Feature
    Affects Versions: 6.0.1
            Reporter: nero


Hi there,


I face an issue when I write a parquet file by PyArrow.

In the older version of Hive, it can only recognize the timestamp type stored 
in INT96, so I use table.write_to_data with `use_deprecated 
timestamp_int96_timestamps=True` option to save the parquet file. But the 
HiveQL will skip conversion when the metadata of parquet file is not created_by 
"parquet-mr".

[hive/ParquetRecordReaderBase.java at f1ff99636a5546231336208a300a114bcf8c5944 
· apache/hive 
(github.com)|https://github.com/apache/hive/blob/f1ff99636a5546231336208a300a114bcf8c5944/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/ParquetRecordReaderBase.java#L137-L139]

 

So I have to save the timestamp columns with timezone info(pad to UTC+8).

But when pyarrow.parquet read from a dir which contains parquets created by 
both PyArrow and parquet-mr, Arrow.Table will ignore the timezone info for 
parquet-mr files.

 

Maybe PyArrow can expose the created_by option in pyarrow({*}prefer{*}, 
parquet::WriterProperties::created_by is available in the C++ ).

Or handle the timestamp type with timezone which files created by parquet-mr?

 

Maybe related to https://issues.apache.org/jira/browse/ARROW-14422



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to