Hey Anup,

>From the sample data you shared, it looks like you have JSON documents
which differ considerably in the schema / structure. This isn't supported
by default.

You could try turning on UNION type (an experimental feature).

> set `exec.enable_union_type` = true;
+-------+----------------------------------+
|  ok   |             summary              |
+-------+----------------------------------+
| true  | exec.enable_union_type updated.  |
+-------+----------------------------------+
1 row selected (0.193 seconds)


On Mon, Oct 17, 2016 at 2:33 AM, Anup Tiwari <anup.tiw...@games24x7.com>
wrote:

> Hi Team,
>
> I have a data in which key name "event" normally consist of plain values
> like 'load' OR "click" etc. Also from past few days in few JSON,
> this("event" key) contains JSON value.
>
> And while reading event section, we are getting *DATA_READ ERROR: Error
> parsing JSON. *Please provide solution asap.
>
>
> Please find below eg :-
>
> *Case 1* :- {"body":{*"event":"click"*,"url":"https://www.rnd.com/
> ","timestamp":1476514176276,"id":"abc","ajaxUrl":null,"
> ajaxData":null,"metadata":null}
>
> *Case 2* :- {"body":{
> *"event":{"isTrusted":true,"customTrackingData":"ACE-
> click-MON-ABC_UL-NA"}*
> ,"url":"https://www.rnd.com/test.html
> ","timestamp":1476531412179,"id":"pqr","ajaxUrl":null,"
> ajaxData":null,"metadata":null}
>
>
>
> *Error :*0: jdbc:drill:> select t.body from
> dfs.`/user/hadoop/kafkalogs-stage/acl_15.json` t  limit 1;
> Error: DATA_READ ERROR: Error parsing JSON - You tried to start when you
> are using a ValueWriter of type NullableVarCharWriterImpl.
>
> File  /user/hadoop/kafkalogs-stage/acl_15.json
> Record  120
> Fragment 0:0
>
> [Error Id: bc33aac6-4cca-4237-9d01-01e1f1015572 on datanode1:31010]
> (state=,code=0)
> java.sql.SQLException: DATA_READ ERROR: Error parsing JSON - You tried to
> start when you are using a ValueWriter of type NullableVarCharWriterImpl.
>
> File  /user/hadoop/kafkalogs-stage/acl_15.json
> Record  120
> Fragment 0:0
>
> [Error Id: bc33aac6-4cca-4237-9d01-01e1f1015572 on datanode1:31010]
>     at
> org.apache.drill.jdbc.impl.DrillCursor.nextRowInternally(
> DrillCursor.java:247)
>     at
> org.apache.drill.jdbc.impl.DrillCursor.loadInitialSchema(
> DrillCursor.java:290)
>     at
> org.apache.drill.jdbc.impl.DrillResultSetImpl.execute(
> DrillResultSetImpl.java:1933)
>     at
> org.apache.drill.jdbc.impl.DrillResultSetImpl.execute(
> DrillResultSetImpl.java:73)
>     at
> net.hydromatic.avatica.AvaticaConnection.executeQueryInternal(
> AvaticaConnection.java:404)
>     at
> net.hydromatic.avatica.AvaticaStatement.executeQueryInternal(
> AvaticaStatement.java:351)
>     at
> net.hydromatic.avatica.AvaticaStatement.executeInternal(
> AvaticaStatement.java:338)
>     at
> net.hydromatic.avatica.AvaticaStatement.execute(AvaticaStatement.java:69)
>     at
> org.apache.drill.jdbc.impl.DrillStatementImpl.execute(
> DrillStatementImpl.java:101)
>     at sqlline.Commands.execute(Commands.java:841)
>     at sqlline.Commands.sql(Commands.java:751)
>     at sqlline.SqlLine.dispatch(SqlLine.java:746)
>     at sqlline.SqlLine.begin(SqlLine.java:621)
>     at sqlline.SqlLine.start(SqlLine.java:375)
>     at sqlline.SqlLine.main(SqlLine.java:268)
> Caused by: org.apache.drill.common.exceptions.UserRemoteException:
> DATA_READ ERROR: Error parsing JSON - You tried to start when you are using
> a ValueWriter of type NullableVarCharWriterImpl.
>
> File  /user/hadoop/kafkalogs-stage/acl_15.json
> Record  120
> Fragment 0:0
>
> [Error Id: bc33aac6-4cca-4237-9d01-01e1f1015572 on datanode1:31010]
>     at
> org.apache.drill.exec.rpc.user.QueryResultHandler.resultArrived(
> QueryResultHandler.java:123)
>     at
> org.apache.drill.exec.rpc.user.UserClient.handleReponse(
> UserClient.java:134)
>     at
> org.apache.drill.exec.rpc.BasicClientWithConnection.handle(
> BasicClientWithConnection.java:46)
>     at
> org.apache.drill.exec.rpc.BasicClientWithConnection.handle(
> BasicClientWithConnection.java:31)
>     at org.apache.drill.exec.rpc.RpcBus.handle(RpcBus.java:65)
>     at org.apache.drill.exec.rpc.RpcBus$RequestEvent.run(RpcBus.java:363)
>     at
> org.apache.drill.common.SerializedExecutor$RunnableProcessor.run(
> SerializedExecutor.java:89)
>     at
> org.apache.drill.exec.rpc.RpcBus$SameExecutor.execute(RpcBus.java:240)
>     at
> org.apache.drill.common.SerializedExecutor.execute(
> SerializedExecutor.java:123)
>     at
> org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:274)
>     at
> org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:245)
>     at
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(
> MessageToMessageDecoder.java:89)
>     at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(
> AbstractChannelHandlerContext.java:339)
>     at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(
> AbstractChannelHandlerContext.java:324)
>     at
> io.netty.handler.timeout.IdleStateHandler.channelRead(
> IdleStateHandler.java:254)
>     at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(
> AbstractChannelHandlerContext.java:339)
>     at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(
> AbstractChannelHandlerContext.java:324)
>     at
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(
> MessageToMessageDecoder.java:103)
>     at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(
> AbstractChannelHandlerContext.java:339)
>     at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(
> AbstractChannelHandlerContext.java:324)
>     at
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(
> ByteToMessageDecoder.java:242)
>     at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(
> AbstractChannelHandlerContext.java:339)
>     at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(
> AbstractChannelHandlerContext.java:324)
>     at
> io.netty.channel.ChannelInboundHandlerAdapter.channelRead(
> ChannelInboundHandlerAdapter.java:86)
>     at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(
> AbstractChannelHandlerContext.java:339)
>     at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(
> AbstractChannelHandlerContext.java:324)
>     at
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(
> DefaultChannelPipeline.java:847)
>     at
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(
> AbstractNioByteChannel.java:131)
>     at
> io.netty.channel.nio.NioEventLoop.processSelectedKey(
> NioEventLoop.java:511)
>     at
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(
> NioEventLoop.java:468)
>     at
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(
> NioEventLoop.java:382)
>     at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
>     at
> io.netty.util.concurrent.SingleThreadEventExecutor$2.
> run(SingleThreadEventExecutor.java:111)
>     at java.lang.Thread.run(Thread.java:745)
>
>
> Regards,
> *Anup Tiwari*
>

Reply via email to