You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "S. Alex Smith (JIRA)" <ji...@apache.org> on 2009/02/22 09:39:01 UTC
[jira] Created: (HIVE-297) Parses doesn't catch certain type
errors.
Parses doesn't catch certain type errors.
-----------------------------------------
Key: HIVE-297
URL: https://issues.apache.org/jira/browse/HIVE-297
Project: Hadoop Hive
Issue Type: Bug
Components: Query Processor
Reporter: S. Alex Smith
If table_a and table_c have schemas:
userid bigint
and table_b has a schema:
userid string
Then the following with make it through the parser, but will fail when running:
FROM (
FROM table_a
SELECT userid
UNION ALL
FROM table_b
SELECT userid) unioned
INSERT OVERWRITE TABLE table_c
SELECT *;
Specifically, the map step with throw:
java.lang.RuntimeException: org.apache.hadoop.hive.serde2.SerDeException: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
I have interpreted this as a bug in the parser, but it could also be viewed as a bug about not auto-casting.
Note that this can be worked around by using explicit CAST statements.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Issue Comment Edited: (HIVE-297) Parses doesn't catch
certain type errors.
Posted by "Raghotham Murthy (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HIVE-297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680675#action_12680675 ]
Raghotham Murthy edited comment on HIVE-297 at 3/10/09 4:07 PM:
----------------------------------------------------------------
Duplicate of HIVE-285
was (Author: rsm):
Duplicate of HIVE-297
> Parses doesn't catch certain type errors.
> -----------------------------------------
>
> Key: HIVE-297
> URL: https://issues.apache.org/jira/browse/HIVE-297
> Project: Hadoop Hive
> Issue Type: Bug
> Components: Query Processor
> Reporter: S. Alex Smith
> Assignee: Raghotham Murthy
>
> The following query:
> FROM (
> FROM (FROM my_table
> SELECT CAST(userid AS BIGINT) AS userid a
> SELECT userid
> UNION ALL
> FROM (FROM my_table
> SELECT CAST(userid AS STRING) AS userid) b
> SELECT userid
> ) unioned
> SELECT DISTINCT userid;
> Is accepted by the parse, but throws the following at run-time:
> java.lang.RuntimeException: org.apache.hadoop.hive.serde2.SerDeException: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
> (Note that this seems less silly if the inner queries are different tables with userid stored as a bigint and a string, respectively)
> I have interpreted this as a bug in the parser, but it could also be viewed as a bug about not auto-casting.
> This can be worked around by using explicit CAST statements.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HIVE-297) Parses doesn't catch certain type
errors.
Posted by "S. Alex Smith (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HIVE-297?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
S. Alex Smith updated HIVE-297:
-------------------------------
Description:
The following query:
FROM (
FROM (FROM my_table
SELECT CAST(userid AS BIGINT) AS userid a
SELECT userid
UNION ALL
FROM (FROM my_table
SELECT CAST(userid AS STRING) AS userid) b
SELECT userid
) unioned
SELECT DISTINCT userid;
Is accepted by the parse, but throws the following at run-time:
java.lang.RuntimeException: org.apache.hadoop.hive.serde2.SerDeException: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
(Note that this seems less silly if the inner queries are different tables with userid stored as a bigint and a string, respectively)
I have interpreted this as a bug in the parser, but it could also be viewed as a bug about not auto-casting.
This can be worked around by using explicit CAST statements.
was:
If table_a and table_c have schemas:
userid bigint
and table_b has a schema:
userid string
Then the following with make it through the parser, but will fail when running:
FROM (
FROM table_a
SELECT userid
UNION ALL
FROM table_b
SELECT userid) unioned
INSERT OVERWRITE TABLE table_c
SELECT *;
Specifically, the map step with throw:
java.lang.RuntimeException: org.apache.hadoop.hive.serde2.SerDeException: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
I have interpreted this as a bug in the parser, but it could also be viewed as a bug about not auto-casting.
Note that this can be worked around by using explicit CAST statements.
Correcting example to one which actually exhibits the problem.
> Parses doesn't catch certain type errors.
> -----------------------------------------
>
> Key: HIVE-297
> URL: https://issues.apache.org/jira/browse/HIVE-297
> Project: Hadoop Hive
> Issue Type: Bug
> Components: Query Processor
> Reporter: S. Alex Smith
>
> The following query:
> FROM (
> FROM (FROM my_table
> SELECT CAST(userid AS BIGINT) AS userid a
> SELECT userid
> UNION ALL
> FROM (FROM my_table
> SELECT CAST(userid AS STRING) AS userid) b
> SELECT userid
> ) unioned
> SELECT DISTINCT userid;
> Is accepted by the parse, but throws the following at run-time:
> java.lang.RuntimeException: org.apache.hadoop.hive.serde2.SerDeException: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
> (Note that this seems less silly if the inner queries are different tables with userid stored as a bigint and a string, respectively)
> I have interpreted this as a bug in the parser, but it could also be viewed as a bug about not auto-casting.
> This can be worked around by using explicit CAST statements.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (HIVE-297) Parses doesn't catch certain type
errors.
Posted by "Raghotham Murthy (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HIVE-297?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Raghotham Murthy resolved HIVE-297.
-----------------------------------
Resolution: Duplicate
Assignee: Raghotham Murthy
Duplicate of HIVE-297
> Parses doesn't catch certain type errors.
> -----------------------------------------
>
> Key: HIVE-297
> URL: https://issues.apache.org/jira/browse/HIVE-297
> Project: Hadoop Hive
> Issue Type: Bug
> Components: Query Processor
> Reporter: S. Alex Smith
> Assignee: Raghotham Murthy
>
> The following query:
> FROM (
> FROM (FROM my_table
> SELECT CAST(userid AS BIGINT) AS userid a
> SELECT userid
> UNION ALL
> FROM (FROM my_table
> SELECT CAST(userid AS STRING) AS userid) b
> SELECT userid
> ) unioned
> SELECT DISTINCT userid;
> Is accepted by the parse, but throws the following at run-time:
> java.lang.RuntimeException: org.apache.hadoop.hive.serde2.SerDeException: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
> (Note that this seems less silly if the inner queries are different tables with userid stored as a bigint and a string, respectively)
> I have interpreted this as a bug in the parser, but it could also be viewed as a bug about not auto-casting.
> This can be worked around by using explicit CAST statements.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.