Thanks, Abdel.

This is the output:

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: 48eb1871-33bd-40b7-b2a0-a34bc98a1511 on 192.168.233.201:31010]

  (org.postgresql.util.PSQLException) ERROR: relation "mydb.mytable" does not 
exist
  Position: 15
    org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse():2182
    org.postgresql.core.v3.QueryExecutorImpl.processResults():1911
    org.postgresql.core.v3.QueryExecutorImpl.execute():173
    org.postgresql.jdbc2.AbstractJdbc2Statement.execute():618
    org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags():454
    org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery():334
    org.apache.commons.dbcp.DelegatingStatement.executeQuery():208
    org.apache.commons.dbcp.DelegatingStatement.executeQuery():208
    org.apache.drill.exec.store.jdbc.JdbcRecordReader.setup():153
    org.apache.drill.exec.physical.impl.ScanBatch.<init>():101
    org.apache.drill.exec.physical.impl.ScanBatch.<init>():128
    org.apache.drill.exec.store.jdbc.JdbcBatchCreator.getBatch():40
    org.apache.drill.exec.store.jdbc.JdbcBatchCreator.getBatch():33
    org.apache.drill.exec.physical.impl.ImplCreator.getRecordBatch():150
    org.apache.drill.exec.physical.impl.ImplCreator.getChildren():173
    org.apache.drill.exec.physical.impl.ImplCreator.getRecordBatch():130
    org.apache.drill.exec.physical.impl.ImplCreator.getChildren():173
    org.apache.drill.exec.physical.impl.ImplCreator.getRootExec():104
    org.apache.drill.exec.physical.impl.ImplCreator.getExec():79
    org.apache.drill.exec.work.fragment.FragmentExecutor.run():232
    org.apache.drill.common.SelfCleaningRunnable.run():38
    java.util.concurrent.ThreadPoolExecutor.runWorker():1142
    java.util.concurrent.ThreadPoolExecutor$Worker.run():617
    java.lang.Thread.run():745 (state=,code=0)

> On 22 Sep 2015, at 18:38, Abdel Hakim Deneche <[email protected]> wrote:
> 
> 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