Raghuraman Murugaiyan created HIVE-17418:
--------------------------------------------
Summary: Hive Query fails with ClassCast Exception when Table and
partitions are having different fileformat
Key: HIVE-17418
URL: https://issues.apache.org/jira/browse/HIVE-17418
Project: Hive
Issue Type: Bug
Components: Hive
Affects Versions: 2.2.0, 2.1.1
Reporter: Raghuraman Murugaiyan
We have a partitioned table in RCFILE format, and it has a partition in ORC
format. When we query the data from that partition, it gives the following
runtime error:
2017-08-30 20:16:41,035 FATAL [IPC Server handler 3 on 39129]
org.apache.hadoop.mapred.TaskAttemptListenerImpl: Task:
attempt_1503513879002_0178_m_000000_0 - exited : java.lang.RuntimeException:
org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while
processing row [Error getting row data with exception
java.lang.ClassCastException: org.apache.hadoop.hive.ql.io.orc.OrcStruct cannot
be cast to org.apache.hadoop.hive.serde2.columnar.ColumnarStructBase
at
org.apache.hadoop.hive.serde2.objectinspector.ColumnarStructObjectInspector.getStructFieldData(ColumnarStructObjectInspector.java:61)
at
org.apache.hadoop.hive.serde2.objectinspector.UnionStructObjectInspector.getStructFieldData(UnionStructObjectInspector.java:157)
at
org.apache.hadoop.hive.serde2.SerDeUtils.buildJSONString(SerDeUtils.java:364)
at
org.apache.hadoop.hive.serde2.SerDeUtils.getJSONString(SerDeUtils.java:200)
How to reproduce:
Queries to generate related tables:
CREATE EXTERNAL TABLE test_table (
key INT,
value STRING
)
PARTITIONED BY (
data_date STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS RCFILE;
CREATE TABLE data_table (
key INT,
value STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS ORC;
2. Queries to generate partition:
ALTER TABLE test_table ADD PARTITION (data_date=20170829);
ALTER TABLE test_table PARTITION (data_date=20170829) SET FILEFORMAT ORC;
3. Query to load data:
INSERT INTO TABLE test_table PARTITION (data_date=20170829)
SELECT key, value FROM data_table
WHERE data_date=20170829;
4. Query to reproduce the error:
SELECT key, value FROM test_table
WHERE data_date=20170829;
I have run this query in Hive 2.1.1 and Hive 2.2.1 where it got failed and ran
fine in the Hive 1.2.1 built. Please advise us, whether we can create a Table
in one file format and the new partitions in a different file format?
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)