Hi,
Stacktrace as requested
java.sql.SQLException: [MapR][DrillJDBCDriver](500165) Query execution error. Details: SYSTEM
ERROR: ClassCastException: org.apache.drill.exec.vector.NullableDecimal28SparseVector cannot
be cast to org.apache.drill.exec.vector.VariableWidthVector
Fragment 2:18
[Error Id: dba9df08-fb1d-4bd2-93e6-d08fb6f79ff1 on BGDTEST3.INTERSWITCH.COM:31010].
at com.mapr.drill.drill.dataengine.DRQryResultListener.checkAndThrowException(Unknown Source)
at com.mapr.drill.drill.dataengine.DRQryResultListener.getNextBatch(Unknown Source)
at com.mapr.drill.drill.dataengine.DRJDBCResultSet.doLoadRecordBatchData(Unknown Source)
at com.mapr.drill.drill.dataengine.DRJDBCResultSet.doMoveToNextRow(Unknown Source)
at com.mapr.drill.drill.dataengine.DRJDBCQueryExecutor.execute(Unknown Source)
at com.mapr.drill.jdbc.common.SStatement.executeNoParams(Unknown Source)
at com.mapr.drill.jdbc.common.SStatement.execute(Unknown Source)
at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:291)
at org.apache.commons.dbcp2.DelegatingStatement.execute(DelegatingStatement.java:291)
at org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:581)
at org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:692)
at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:97)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:498)
at org.apache.zeppelin.scheduler.Job.run(Job.java:175)
at org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
Caused by: com.mapr.drill.support.exceptions.GeneralException: [MapR][DrillJDBCDriver](500165)
Query execution error. Details: SYSTEM ERROR: ClassCastException: org.apache.drill.exec.vector.NullableDecimal28SparseVector
cannot be cast to org.apache.drill.exec.vector.VariableWidthVector
Fragment 2:18
[Error Id: dba9df08-fb1d-4bd2-93e6-d08fb6f79ff1 on BGDTEST3.INTERSWITCH.COM:31010].
... 21 more
This message has been marked as CONFIDENTIAL on Monday, April 30, 2018 @ 8:44:22 AM
-----Original Message-----
From: Vova Vysotskyi <vvovyk@gmail.com>
Sent: Friday, April 27, 2018 5:29 PM
To: user@drill.apache.org
Subject: Re: Exception While Querying Decimal Fields in Apache Drill
Hi Peter,
Could you please also share a stacktrace?
Does the specified table
contain pan, terminal_id, source_node_name, tran_completed, tran_reversed and tran_type columns?
If it contains them, which types do they have?
Kind regards,
Volodymyr Vysotskyi
пт, 27 квіт. 2018 о 17:47 Peter Edike <peter.edike@interswitchgroup.com>
пише:
>
>
> Drill Version 1.12.0
>
>
>
> planner.enable_decimal_data_type is set to true on the system.
>
>
>
> --peter
>
>
>
>
>
> -----Original Message-----
>
> From: Andries Engelbrecht <aengelbrecht@mapr.com>
>
> Sent: Friday, April 27, 2018 3:41 PM
>
> To: user@drill.apache.org
>
> Subject: Re: Exception While Querying Decimal Fields in Apache Drill
>
>
>
> What version of Drill are you using?
>
> Also is planner.enable_decimal_data_type set to true on the system?
>
>
>
> --Andries
>
>
>
> On 4/27/18, 7:24 AM, "Peter Edike" <peter.edike@interswitchgroup.com>
> wrote:
>
>
>
> Tried That, It did not work. Still Fails with the exception. Let
> me even add that even if the query is a simple select ....from
> statement, as long any of the fields is decimal type, the statement
> will fail with the stated exception
>
>
>
> Please Help.... a lot depends on this
>
>
>
> Best regards,
>
> Peter Edike
>
>
>
> This message has been marked as CONFIDENTIAL on Friday, April 27,
> 2018 @ 3:24:36 PM
>
>
>
> -----Original Message-----
>
> From: Andries Engelbrecht <aengelbrecht@mapr.com>
>
> Sent: Friday, April 27, 2018 3:07 PM
>
> To: user@drill.apache.org
>
> Subject: Re: Exception While Querying Decimal Fields in Apache
> Drill
>
>
>
> Perhaps try to convert the predicate and select operations
> involving the decimal types to float or similar.
>
>
>
> i.e tran_completed = 1.0 and ((cast(SETTLE_AMOUNT_IMPACT as double)
> *(-1.0))/100.0)
>
>
>
> Alternatively you may have to cast the decimals as float, but that
> will be more cumbersome.
>
>
>
> --Andries
>
>
>
> On 4/27/18, 5:18 AM, "Peter Edike"
> <peter.edike@interswitchgroup.com>
> wrote:
>
>
>
> I am trying to run the following query in apache drill, I am
> querying data stored in parquet files using the following query
>
>
>
>
>
> select pan, count(*) as number_of_transactions ,
>
> terminal_id,SUM((cast(SETTLE_AMOUNT_IMPACT as double)
> *-1)/100) AS settle_amount_impact
>
>
>
>
>
> from
> dfs.`/iswdata/storage/products/superswitch/parquet/transactions`
>
>
>
> where pan like '506126%' and terminal_id like '1%' and
>
> sink_node_name like ('SWTDB%')
>
> and source_node_name not like ('SWTDBLsrc')
>
> and tran_completed=1
>
> and tran_reversed = 0
>
> and tran_postilion_originated = 1
>
> AND tran_type = '01'
>
> --and pan like '506126%0011'
>
> group by pan,terminal_id
>
>
>
> The Schema for the data I am querying is as follows
>
>
>
>
>
> post_tran_id LONG
>
>
>
> post_tran_cust_id :LONG
>
>
>
> settle_entity_id :INTEGER
>
>
>
> batch_nr : INTEGER
>
>
>
> prev_post_tran_id : LONG
>
>
>
> next_post_tran_id : LONG
>
>
>
> sink_node_name : STRING
>
>
>
> tran_postilion_originated : DECIMAL
>
>
>
> tran_completed : DECIMAL
>
>
>
> tran_amount_req : DECIMAL
>
>
>
> tran_amount_rsp : DECIMAL
>
>
>
> settle_amount_impact : DECIMAL
>
>
>
> tran_cash_req : DECIMAL
>
>
>
> tran_cash_rsp : DECIMAL
>
>
>
> tran_currency_code : STRING
>
>
>
> tran_tran_fee_req : DECIMAL
>
>
>
> tran_tran_fee_rsp : DECIMAL
>
>
>
> tran_tran_fee_currency_code : STRING
>
>
>
> tran_proc_fee_req : DECIMAL
>
>
>
> tran_proc_fee_rsp : DECIMAL
>
>
>
> tran_proc_fee_currency_code : STRING
>
>
>
> settle_amount_req : DECIMAL
>
>
>
> settle_amount_rsp : DECIMAL
>
>
>
> settle_cash_req : DECIMAL
>
>
>
> settle_cash_rsp : DECIMAL
>
>
>
> settle_tran_fee_req : DECIMAL
>
>
>
> settle_tran_fee_rsp : DECIMAL
>
>
>
> settle_proc_fee_req : DECIMAL
>
>
>
> settle_proc_fee_rsp : DECIMAL
>
>
>
> settle_currency_code : STRING
>
>
>
> However When I run the query against the dataset, I get the
> following exception
>
>
>
>
>
> SYSTEM ERROR: ClassCastException:
> org.apache.drill.exec.vector.NullableDecimal28SparseVector cannot be
> cast to org.apache.drill.exec.vector.VariableWidthVector
>
>
>
>
>
> More so, the same error occurs when I include a decimal field
> in the select clause. Please, is there something I am missing or doing
> wrong, Any pointer will be deeply appreciated
>
>
>
> Kind Regards
>
>
>
> Peter
>
> ________________________________
>
>
>
>
>
>
>
>
>
>
>
|