Sergio Peña created HIVE-15079:
----------------------------------
Summary: Hive cannot read Parquet string timetamps as TIMESTAMP
data type
Key: HIVE-15079
URL: https://issues.apache.org/jira/browse/HIVE-15079
Project: Hive
Issue Type: Bug
Components: Hive
Reporter: Sergio Peña
Assignee: Gabor Szadovszky
The Hive Wiki for timestamps specifies that strings timestamps can be read by
Hive.
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-Timestamps
{noformat}
Supported conversions:
Integer numeric types: Interpreted as UNIX timestamp in seconds
Floating point numeric types: Interpreted as UNIX timestamp in seconds with
decimal precision
Strings: JDBC compliant java.sql.Timestamp format "YYYY-MM-DD
HH:MM:SS.fffffffff" (9 decimal place precision)
{noformat}
This works fine with Text table formats, but when Parquet is used, then it
throws the following exception:
{noformat}
java.io.IOException: org.apache.hadoop.hive.ql.metadata.HiveException:
java.lang.ClassCastException: org.apache.hadoop.io.Text cannot be cast to
org.apache.hadoop.hive.serde2.io.TimestampWritable
{noformat}
How to reproduce
{noformat}
> create table t1 (id int, time string) stored as parquet;
> insert into table t1 values (1,'2016-07-17 14:42:18');
> alter table t1 replace columns (id int, time timestamp);
> select * from t1
{noformat}
The above example will run fine if you use a TEXT format instead of PARQUET.
This issue was raised on PARQUET-723
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)