[ 
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)

Reply via email to