drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jacques Nadeau <jacq...@apache.org>
Subject Re: Using Drill with JDBC hangs
Date Thu, 29 Jan 2015 16:49:34 GMT
The JDBC driver provided in the packaged 'jars/jdbc-driver/' directory
doesn't support embedded mode (zk=local).  If you want to run with that
functionality, you need to do so by sourcing the classpath that the
Drillbit uses (which includes a large number of additional classes and
libraries).  The jdbc-driver jar file is only for remote connection
Drillbits.  The entry point and code doesn't change thus the unit tests you
observed.

On Thu, Jan 29, 2015 at 8:14 AM, Denys Pavlov <denys.pavlov@gmail.com>
wrote:

> It should work with a local/embedded drill as well, as the tests for the
> JDBC driver run against a local drill instance. I'm adding the dev mailing
> list to this thread in the hopes that someone can help me understand what
> the properties set on this line
> <
> https://github.com/apache/drill/blob/e3ab2c1760ad34bda80141e2c3108f7eda7c9104/exec/jdbc/src/test/java/org/apache/drill/jdbc/test/JdbcAssert.java#L53-53
> >
> are doing exactly, as that seems to be the only difference between my
> snippet and the tests. Should I be setting them if I want to use Drill in
> embedded/local mode over JDBC? Is there a way to generate the models file
> <
> https://github.com/apache/drill/blob/e3ab2c1760ad34bda80141e2c3108f7eda7c9104/exec/jdbc/src/test/resources/test-models.json
> >
> ?
>
> Any help is appreciated!
>
> Denys
>
> On Wed, Jan 28, 2015 at 5:55 PM, Carol McDonald <cmcdonald@maprtech.com>
> wrote:
>
> > I think jdbc requires zookeeper (?). The following works with drill on
> the
> > mapr sandbox:
> >
> >     public static void main(String[] args) throws Exception {
> >         String driver = "org.apache.drill.jdbc.Driver";
> >         String url =
> > "jdbc:drill:zk=maprdemo:5181/drill/demo_mapr_com-drillbits";
> >         String username = "mapr";
> >         String password = "mapr";
> >         Class.forName(driver);
> >         Connection con = DriverManager.getConnection(url, username,
> > password);
> >         Statement stmt = con.createStatement();
> >         ResultSet rs = stmt.executeQuery("SELECT * FROM
> dfs.views.custview
> > limit 5");
> >         ResultSetMetaData rsmd = rs.getMetaData();
> >         int numberOfColumns = rsmd.getColumnCount();
> >
> >         for (int i = 1; i <= numberOfColumns; i++) {
> >             System.out.print(rsmd.getColumnName(i) + "  ");
> >         }
> >         System.out.println("");
> >
> >         while (rs.next()) {
> >             for (int i = 1; i <= numberOfColumns; i++) {
> >                 System.out.print(rs.getString(i)+ "  ");
> >             }
> >             System.out.println("");
> >         }
> >         stmt.close();
> >         con.close();
> >     }
> >
> > }
> >
> > On Wed, Jan 28, 2015 at 5:39 PM, Denys Pavlov <denys.pavlov@gmail.com>
> > wrote:
> >
> > > Hi all,
> > >
> > > I am trying to use Drill programmatically in Java through the JDBC
> > driver.
> > > However, when I try to execute the query, the application hangs and
> never
> > > returns the ResultSet. When I execute the exact same query in sqlline,
> > > everything executes fine.
> > >
> > > The code snippet is below and should work with no configuration in
> > > /tmp/drill.
> > >
> > > public class DrillJDBCTestTrial {
> > >     public static void main(String[] args) throws SQLException,
> > > ClassNotFoundException {
> > >         Class.forName("org.apache.drill.jdbc.Driver");
> > >         Connection connection =
> > > DriverManager.getConnection("jdbc:drill:zk=local");
> > >         String query = "select N_NAME from
> > >
> > >
> >
> dfs.`/home/meatcar/dev/drill/apache-drill-0.7.0/sample-data/nation.parquet`";
> > >
> > >         PreparedStatement statement =
> connection.prepareStatement(query);
> > >
> > >         // hangs here
> > >         ResultSet rs = statement.executeQuery();
> > >     }
> > > }
> > >
> > > Any help is appreciated.
> > >
> > >
> > > Thanks,
> > >
> > > --
> > > Denys Pavlov
> > >
> >
>
>
>
> --
> Denys Pavlov
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message