[
https://issues.apache.org/jira/browse/DRILL-2412?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rahul Challapalli updated DRILL-2412:
-------------------------------------
Description:
git.commit.id.abbrev=e92db23
{code}
create table time_parquet as select cast(columns[0] as time) time_col from
`time.tbl`;
+------------+---------------------------+
| Fragment | Number of records written |
+------------+---------------------------+
| 0_0 | 21 |
+------------+---------------------------+
1 row selected (0.201 seconds)
{code}
Now running a count(*) on the newly created table does not have any issues
{code}
0: jdbc:drill:schema=dfs.drillTestDirViews> select count(*) from time_parquet;
+------------+
| EXPR$0 |
+------------+
| 21 |
+------------+
1 row selected (0.081 seconds)
{code}
However the below 2 queries fail
{code}
0: jdbc:drill:schema=dfs.drillTestDirViews> select * from time_parquet;
Query failed: RemoteRpcException: Failure while running fragment.,
org.apache.drill.exec.vector.NullableTimeVector cannot be cast to
org.apache.drill.exec.vector.NullableIntVector [
cdceaf64-b858-4063-8364-d119703cf6f0 on qa-node191.qa.lab:31010 ]
[ cdceaf64-b858-4063-8364-d119703cf6f0 on qa-node191.qa.lab:31010 ]
0: jdbc:drill:schema=dfs.drillTestDirViews> select time_col from time_parquet;
Query failed: RemoteRpcException: Failure while running fragment.,
org.apache.drill.exec.vector.NullableTimeVector cannot be cast to
org.apache.drill.exec.vector.NullableIntVector [
8c4254bb-7869-468d-bc6c-7151b833593f on qa-node191.qa.lab:31010 ]
[ 8c4254bb-7869-468d-bc6c-7151b833593f on qa-node191.qa.lab:31010 ]
Error: exception while executing query: Failure while executing query.
(state=,code=0)
{code}
was:
git.commit.id.abbrev=e92db23
Hive DDL :
{code}
create external table time_data (time_col string) location
'/hivedata/time_data';
{code}
>From drill I ran the below query :
{code}
create table time_data as select cast(time_col as time) from hive.time_data;
+------------+---------------------------+
| Fragment | Number of records written |
+------------+---------------------------+
| 0_0 | 16 |
+------------+---------------------------+
1 row selected (0.229 seconds)
{code}
Now when I try to run queries on top of the new table, drill reports an error
{code}
select * from time_data;
Query failed: RemoteRpcException: Failure while running fragment.,
org.apache.drill.exec.vector.NullableTimeVector cannot be cast to
org.apache.drill.exec.vector.NullableIntVector [
2585e743-dbe6-48d9-b3f5-e60aaa0df1f9 on qa-node191.qa.lab:31010 ]
[ 2585e743-dbe6-48d9-b3f5-e60aaa0df1f9 on qa-node191.qa.lab:31010 ]
{code}
This does not happen when we directly read the file from drill and use CTAS.
I attached the data file and the log file
Summary: CTAS has issues when the underlying query casts a column to
time datatype (was: CTAS has issues when the underlying query does a cast to
time when the data is in HIVE)
I modified the description as we can reproduce this bug with a much simpler use
case
> CTAS has issues when the underlying query casts a column to time datatype
> -------------------------------------------------------------------------
>
> Key: DRILL-2412
> URL: https://issues.apache.org/jira/browse/DRILL-2412
> Project: Apache Drill
> Issue Type: Bug
> Components: Storage - Parquet
> Reporter: Rahul Challapalli
> Assignee: Steven Phillips
> Fix For: 0.9.0
>
> Attachments: error.log, time.txt
>
>
> git.commit.id.abbrev=e92db23
> {code}
> create table time_parquet as select cast(columns[0] as time) time_col from
> `time.tbl`;
> +------------+---------------------------+
> | Fragment | Number of records written |
> +------------+---------------------------+
> | 0_0 | 21 |
> +------------+---------------------------+
> 1 row selected (0.201 seconds)
> {code}
> Now running a count(*) on the newly created table does not have any issues
> {code}
> 0: jdbc:drill:schema=dfs.drillTestDirViews> select count(*) from time_parquet;
> +------------+
> | EXPR$0 |
> +------------+
> | 21 |
> +------------+
> 1 row selected (0.081 seconds)
> {code}
> However the below 2 queries fail
> {code}
> 0: jdbc:drill:schema=dfs.drillTestDirViews> select * from time_parquet;
> Query failed: RemoteRpcException: Failure while running fragment.,
> org.apache.drill.exec.vector.NullableTimeVector cannot be cast to
> org.apache.drill.exec.vector.NullableIntVector [
> cdceaf64-b858-4063-8364-d119703cf6f0 on qa-node191.qa.lab:31010 ]
> [ cdceaf64-b858-4063-8364-d119703cf6f0 on qa-node191.qa.lab:31010 ]
> 0: jdbc:drill:schema=dfs.drillTestDirViews> select time_col from time_parquet;
> Query failed: RemoteRpcException: Failure while running fragment.,
> org.apache.drill.exec.vector.NullableTimeVector cannot be cast to
> org.apache.drill.exec.vector.NullableIntVector [
> 8c4254bb-7869-468d-bc6c-7151b833593f on qa-node191.qa.lab:31010 ]
> [ 8c4254bb-7869-468d-bc6c-7151b833593f on qa-node191.qa.lab:31010 ]
> Error: exception while executing query: Failure while executing query.
> (state=,code=0)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)