Michael,

To turn Drill's verbose errors use the following command:

ALTER SESSION SET `exec.errors.verbose` = true

Thanks

On Tue, Sep 22, 2015 at 8:30 AM, Michael Franzkowiak <[email protected]>
wrote:

> Yes, I use the postgres jdbc jar. I can see the queries reaching the DB.
> Also, drill does validate that a table exists, it won’t let me query for
> non-existing tables (VALIDATION ERROR: From line 1, column 18 to line 1,
> column 26: Table ‘foobar' not found).
>
> When querying, postgres complains about the “mydb” (database name) part in
> the FROM clause (I don’t think tables should be prefixed with the database
> name in postgres). I’m also wondering about why it’s trying to execute a
> “SELECT *” query when I’m specifying an individual column.
>
> Here is the output with verbose errors:
>
>
> 0: jdbc:drill:zk=local> !verbose
> verbose: on
>
>
> 0: jdbc:drill:zk=local> use postgres;
> +-------+---------------------------------------+
> |  ok   |                summary                |
> +-------+---------------------------------------+
> | true  | Default schema changed to [postgres]  |
> +-------+---------------------------------------+
> 1 row selected (1.594 seconds)
>
>
> 0: jdbc:drill:zk=local> show tables;
> +--+
> |  |
> +--+
> +--+
> No rows selected (0.23 seconds)
>
>
> 0: jdbc:drill:zk=local> select some_column from mytable;
> Error: DATA_READ ERROR: The JDBC storage plugin failed while trying setup
> the SQL query.
>
> sql SELECT *
> FROM “mydb”."mytable"
> plugin postgres
> Fragment 0:0
>
> [Error Id: 52096123-51b2-4d59-83f7-a8368f146d93 on 192.168.233.201:31010]
> (state=,code=0)
> java.sql.SQLException: DATA_READ ERROR: The JDBC storage plugin failed
> while trying setup the SQL query.
>
> sql SELECT *
> FROM “mydb”."mytable"
> plugin postgres
> Fragment 0:0
>
> [Error Id: 52096123-51b2-4d59-83f7-a8368f146d93 on 192.168.233.201: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:1359)
>   at
> org.apache.drill.jdbc.impl.DrillResultSetImpl.execute(DrillResultSetImpl.java:74)
>   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:86)
>   at sqlline.Commands.execute(Commands.java:841)
>   at sqlline.Commands.sql(Commands.java:751)
>   at sqlline.SqlLine.dispatch(SqlLine.java:737)
>   at sqlline.SqlLine.begin(SqlLine.java:612)
>   at sqlline.SqlLine.start(SqlLine.java:366)
>   at sqlline.SqlLine.main(SqlLine.java:259)
> Caused by: org.apache.drill.common.exceptions.UserRemoteException:
> DATA_READ ERROR: The JDBC storage plugin failed while trying setup the SQL
> query.
>
> sql SELECT *
> FROM “mydb”."mytable"
> plugin postgres
> Fragment 0:0
>
> [Error Id: 52096123-51b2-4d59-83f7-a8368f146d93 on 192.168.233.201:31010]
>   at
> org.apache.drill.exec.rpc.user.QueryResultHandler.resultArrived(QueryResultHandler.java:118)
>   at
> org.apache.drill.exec.rpc.user.UserClient.handleReponse(UserClient.java:110)
>   at
> org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:47)
>   at
> org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:32)
>   at org.apache.drill.exec.rpc.RpcBus.handle(RpcBus.java:61)
>   at
> org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:233)
>   at
> org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:205)
>   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)
>
>
> > On 22 Sep 2015, at 15:24, Jacques Nadeau <[email protected]> wrote:
> >
> > Can you turn on verbose errors and rerun your query? Also, did you add
> the
> > Postgres jdbc driver jar to the classpath? Drill doesn't currently
> > prepackage particular driver jars.
> > On Sep 22, 2015 3:53 AM, "Michael Franzkowiak" <[email protected]>
> wrote:
> >
> >> I wanted to give the JDBC Storage Plugin a spin and tried to connect to
> a
> >> Postgres DB.
> >>
> >> I set up the storage plugin using the following config:
> >>
> >> {
> >>  "type": "jdbc",
> >>  "driver": "org.postgresql.Driver",
> >>  "url": "jdbc:postgresql://127.0.0.1/mydb",
> >>  "username": "dev",
> >>  "password": null,
> >>  "enabled": true
> >> }
> >>
> >> Unfortunately SHOW TABLES does not return anything.
> >>
> >> Also I wasn't able to execute a query on the Postgres DB. For any query
> I
> >> ran (e.g. SELECT some_column FROM mytable) it would just return:
> >>
> >> Error: DATA_READ ERROR: The JDBC storage plugin failed while trying
> setup
> >> the SQL query.
> >> sql SELECT *
> >> FROM "mydb"."mytable"
> >> plugin postgres
> >> Fragment 0:0
> >>
> >> Anything I'm doing wrong? Not a drill expert ( yet :) ).
> >>
>
>


-- 

Abdelhakim Deneche

Software Engineer

  <http://www.mapr.com/>


Now Available - Free Hadoop On-Demand Training
<http://www.mapr.com/training?utm_source=Email&utm_medium=Signature&utm_campaign=Free%20available>

Reply via email to