You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Joshua Pedrick (Jira)" <ji...@apache.org> on 2020/01/24 20:42:00 UTC

[jira] [Created] (ARROW-7678) [C++][Parquet] setting TZ= in environment on Linux causes broken parquet

Joshua Pedrick created ARROW-7678:
-------------------------------------

             Summary: [C++][Parquet] setting TZ= in environment on Linux causes broken parquet
                 Key: ARROW-7678
                 URL: https://issues.apache.org/jira/browse/ARROW-7678
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++
    Affects Versions: 0.15.1
         Environment: Linux, Ubuntu 18.04, arrow/parquet 0.15.1 from instructions https://arrow.apache.org/install/
            Reporter: Joshua Pedrick


When I set TZ=CST-8, or other timezone on Linux time columns are corrupted in my resulting parquet file.

 

Below are the calls I use to define my schema:

 
{code:java}
PrimitiveNode::Make( columnName, Repetition::REQUIRED,
 LogicalType::Timestamp( true, LogicalType::TimeUnit::MICROS, false, false ),
 ::parquet::Type::INT64 ) );
PrimitiveNode::Make( columnName,
 repetition,
 LogicalType::Time( true, LogicalType::TimeUnit::MICROS ),
 ::parquet::Type::INT64 ) );
{code}
I use an Int64Writer for both types. When reading, in this case using pandas with pyarrow, but also in C++, I get the following exception:
{code:java}
 File "pyarrow/_parquet.pyx", line 1136, in pyarrow._parquet.ParquetReader.read_all
 File "pyarrow/error.pxi", line 80, in pyarrow.lib.check_status
pyarrow.lib.ArrowIOError: Couldn't deserialize thrift: TProtocolException: Invalid data
Deserializing page header failed.{code}
Seems as if the column header must be defining a timestamp+timezone even though I manually set is_adjusted_to_utc.

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)