Janaki Lahorani created HIVE-18393:
--------------------------------------

             Summary: Error returned when some other type is read as string 
from parquet tables
                 Key: HIVE-18393
                 URL: https://issues.apache.org/jira/browse/HIVE-18393
             Project: Hive
          Issue Type: Bug
            Reporter: Janaki Lahorani
            Assignee: Janaki Lahorani


TimeStamp, Decimal, Double, Float, BigInt, Int, SmallInt, Tinyint and Boolean 
when read as String, Varchar or Char should return the correct data.  Now this 
results in error for parquet tables.

Test Case:
drop table if exists testAltCol;
create table testAltCol
(cId        TINYINT,
 cTimeStamp TIMESTAMP,
 cDecimal   DECIMAL(38,18),
 cDouble    DOUBLE,
 cFloat     FLOAT,
 cBigInt    BIGINT,
 cInt       INT,
 cSmallInt  SMALLINT,
 cTinyint   TINYINT,
 cBoolean   BOOLEAN);

insert into testAltCol values
(1,
 '2017-11-07 09:02:49.999999999',
 12345678901234567890.123456789012345678,
 1.79e308,
 3.4e38,
 1234567890123456789,
 1234567890,
 12345,
 123,
 TRUE);

insert into testAltCol values
(2,
 '1400-01-01 01:01:01.000000001',
 1.1,
 2.2,
 3.3,
 1,
 2,
 3,
 4,
 FALSE);

insert into testAltCol values
(3,
 '1400-01-01 01:01:01.000000001',
 10.1,
 20.2,
 30.3,
 1234567890123456789,
 1234567890,
 12345,
 123,
 TRUE);

select cId, cTimeStamp from testAltCol order by cId;
select cId, cDecimal, cDouble, cFloat from testAltCol order by cId;
select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltCol order by cId;
select cId, cBoolean from testAltCol order by cId;

drop table if exists testAltColP;
create table testAltColP stored as parquet as select * from testAltCol;

select cId, cTimeStamp from testAltColP order by cId;
select cId, cDecimal, cDouble, cFloat from testAltColP order by cId;
select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColP order by cId;
select cId, cBoolean from testAltColP order by cId;

alter table testAltColP replace columns
(cId        TINYINT,
 cTimeStamp STRING,
 cDecimal   STRING,
 cDouble    STRING,
 cFloat     STRING,
 cBigInt    STRING,
 cInt       STRING,
 cSmallInt  STRING,
 cTinyint   STRING,
 cBoolean   STRING);

select cId, cTimeStamp from testAltColP order by cId;
select cId, cDecimal, cDouble, cFloat from testAltColP order by cId;
select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColP order by cId;
select cId, cBoolean from testAltColP order by cId;

alter table testAltColP replace columns
(cId        TINYINT,
 cTimeStamp VARCHAR(100),
 cDecimal   VARCHAR(100),
 cDouble    VARCHAR(100),
 cFloat     VARCHAR(100),
 cBigInt    VARCHAR(100),
 cInt       VARCHAR(100),
 cSmallInt  VARCHAR(100),
 cTinyint   VARCHAR(100),
 cBoolean   VARCHAR(100));

select cId, cTimeStamp from testAltColP order by cId;
select cId, cDecimal, cDouble, cFloat from testAltColP order by cId;
select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColP order by cId;
select cId, cBoolean from testAltColP order by cId;

alter table testAltColP replace columns
(cId        TINYINT,
 cTimeStamp CHAR(100),
 cDecimal   CHAR(100),
 cDouble    CHAR(100),
 cFloat     CHAR(100),
 cBigInt    CHAR(100),
 cInt       CHAR(100),
 cSmallInt  CHAR(100),
 cTinyint   CHAR(100),
 cBoolean   CHAR(100));

select cId, cTimeStamp from testAltColP order by cId;
select cId, cDecimal, cDouble, cFloat from testAltColP order by cId;
select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColP order by cId;
select cId, cBoolean from testAltColP order by cId;
drop table if exists testAltColP;

Error:
FAILED: Execution Error, return code 2 from 
org.apache.hadoop.hive.ql.exec.mr.MapRedTask

Excerpt for log:
2018-01-05T15:54:05,756 ERROR [LocalJobRunner Map Task Executor #0] 
mr.ExecMapper: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime 
Error while processing row [Error getting row data with exception 
java.lang.UnsupportedOperationException: Cannot inspect 
org.apache.hadoop.hive.serde2.io.TimestampWritable
        at 
org.apache.hadoop.hive.ql.io.parquet.serde.primitive.ParquetStringInspector.getPrimitiveJavaObject(ParquetStringInspector.java:77)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to