Problem with MariaDB and jdbc

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Problem with MariaDB and jdbc

Iavor Jelev
Hi everyone,

first off - I'm new to Zeppelin, but I already love it. Great work on
the software!

I'm running Zeppelin 0.6.2 in docker and expiriencing a strange issue:
There is a MariaDB in the same network, which I want to connect to. I
set up the jdbc-Interpreter as shown here (for the lack of a mariaDB
example in the 0.6.2 documentation, assuming it is the same):

https://zeppelin.apache.org/docs/0.7.1/interpreter/jdbc.html#mariadb

Now, when I open a notebook and type the following, it works fine:

%jdbc
show databases

If I run the following, it works also:

%jdbc
use testdb

Here comes the strange part. If I run the following, I get an Exception:

%jdbc
use testdb;
show tables;

You have an error in your SQL syntax; check the manual that corresponds
to your MariaDB server version for the right syntax to use near 'show
tables' at line 2
Query is : use testdb;
show tables;
class java.sql.SQLSyntaxErrorException
org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:127)
org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:71)
org.mariadb.jdbc.MariaDbStatement.executeQueryEpilog(MariaDbStatement.java:226)
org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:260)
org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:273)
org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:322)
org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:408)
org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
org.apache.zeppelin.scheduler.Job.run(Job.java:176)
org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

Also - if I run 'use testdb', again a query which works by itself, and I
run 'show tables' in a new panel directly after, then I get:

No database selected
Query is : show tables;
class java.sql.SQLException
org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:138)
org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:71)
org.mariadb.jdbc.MariaDbStatement.executeQueryEpilog(MariaDbStatement.java:226)
org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:260)
org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:273)
org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:322)
org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:408)
org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
org.apache.zeppelin.scheduler.Job.run(Job.java:176)
org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

Both approaches work on my local installation (which is zeppelin 0.7.2
with a local MySQL though, so not a fair comparison). Has anyone had
similar issues? Can anyone offer some advice on what might be going
wrong here?


Best regards,
Iavor
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem with MariaDB and jdbc

Darren Govoni
Best as i recall you can't have two sql statements in one zeppelin note. Try separating them.




On Wed, Jul 5, 2017 at 7:13 AM -0400, "Iavor Jelev" <[hidden email]> wrote:

Hi everyone,

first off - I'm new to Zeppelin, but I already love it. Great work on
the software!

I'm running Zeppelin 0.6.2 in docker and expiriencing a strange issue:
There is a MariaDB in the same network, which I want to connect to. I
set up the jdbc-Interpreter as shown here (for the lack of a mariaDB
example in the 0.6.2 documentation, assuming it is the same):

https://zeppelin.apache.org/docs/0.7.1/interpreter/jdbc.html#mariadb

Now, when I open a notebook and type the following, it works fine:

%jdbc
show databases

If I run the following, it works also:

%jdbc
use testdb

Here comes the strange part. If I run the following, I get an Exception:

%jdbc
use testdb;
show tables;

You have an error in your SQL syntax; check the manual that corresponds
to your MariaDB server version for the right syntax to use near 'show
tables' at line 2
Query is : use testdb;
show tables;
class java.sql.SQLSyntaxErrorException
org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:127)
org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:71)
org.mariadb.jdbc.MariaDbStatement.executeQueryEpilog(MariaDbStatement.java:226)
org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:260)
org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:273)
org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:322)
org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:408)
org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
org.apache.zeppelin.scheduler.Job.run(Job.java:176)
org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

Also - if I run 'use testdb', again a query which works by itself, and I
run 'show tables' in a new panel directly after, then I get:

No database selected
Query is : show tables;
class java.sql.SQLException
org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:138)
org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:71)
org.mariadb.jdbc.MariaDbStatement.executeQueryEpilog(MariaDbStatement.java:226)
org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:260)
org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:273)
org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:322)
org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:408)
org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
org.apache.zeppelin.scheduler.Job.run(Job.java:176)
org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

Both approaches work on my local installation (which is zeppelin 0.7.2
with a local MySQL though, so not a fair comparison). Has anyone had
similar issues? Can anyone offer some advice on what might be going
wrong here?


Best regards,
Iavor
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem with MariaDB and jdbc

Jongyoul Lee
We DID provide two statements in a paragraph for a while, but this features looks broken. 

On Tue, 11 Jul 2017 at 03:14 <[hidden email]> wrote:
Best as i recall you can't have two sql statements in one zeppelin note. Try separating them.




On Wed, Jul 5, 2017 at 7:13 AM -0400, "Iavor Jelev" <[hidden email]> wrote:

Hi everyone,

first off - I'm new to Zeppelin, but I already love it. Great work on
the software!

I'm running Zeppelin 0.6.2 in docker and expiriencing a strange issue:
There is a MariaDB in the same network, which I want to connect to. I
set up the jdbc-Interpreter as shown here (for the lack of a mariaDB
example in the 0.6.2 documentation, assuming it is the same):

https://zeppelin.apache.org/docs/0.7.1/interpreter/jdbc.html#mariadb

Now, when I open a notebook and type the following, it works fine:

%jdbc
show databases

If I run the following, it works also:

%jdbc
use testdb

Here comes the strange part. If I run the following, I get an Exception:

%jdbc
use testdb;
show tables;

You have an error in your SQL syntax; check the manual that corresponds
to your MariaDB server version for the right syntax to use near 'show
tables' at line 2
Query is : use testdb;
show tables;
class java.sql.SQLSyntaxErrorException
org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:127)
org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:71)
org.mariadb.jdbc.MariaDbStatement.executeQueryEpilog(MariaDbStatement.java:226)
org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:260)
org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:273)
org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:322)
org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:408)
org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
org.apache.zeppelin.scheduler.Job.run(Job.java:176)
org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

Also - if I run 'use testdb', again a query which works by itself, and I
run 'show tables' in a new panel directly after, then I get:

No database selected
Query is : show tables;
class java.sql.SQLException
org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:138)
org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:71)
org.mariadb.jdbc.MariaDbStatement.executeQueryEpilog(MariaDbStatement.java:226)
org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:260)
org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:273)
org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:322)
org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:408)
org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
org.apache.zeppelin.scheduler.Job.run(Job.java:176)
org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

Both approaches work on my local installation (which is zeppelin 0.7.2
with a local MySQL though, so not a fair comparison). Has anyone had
similar issues? Can anyone offer some advice on what might be going
wrong here?


Best regards,
Iavor
--
이종열, Jongyoul Lee, 李宗烈
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem with MariaDB and jdbc

Iavor Jelev
Hi,

thanks for your replies!

@Darren: I did try separating them. But although the first paragrah (use
testdb) executes successfully, I get an error in the second one: 'No
database selected'

@Jongyoul: Indeed, 2 statements in a paragraph work fine in my local
environment

I'll try a different docker image, or just install a newer Version of
Zeppelin on a Linux machine


Am 10.07.17 um 20:38 schrieb Jongyoul Lee:

> We DID provide two statements in a paragraph for a while, but this
> features looks broken.
>
> On Tue, 11 Jul 2017 at 03:14 <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     Best as i recall you can't have two sql statements in one zeppelin
>     note. Try separating them.
>
>     Get Outlook for Android <https://aka.ms/ghei36>
>
>
>
>
>     On Wed, Jul 5, 2017 at 7:13 AM -0400, "Iavor Jelev"
>     <[hidden email] <mailto:[hidden email]>>
>     wrote:
>
>         Hi everyone,
>
>         first off - I'm new to Zeppelin, but I already love it. Great work on
>         the software!
>
>         I'm running Zeppelin 0.6.2 in docker and expiriencing a strange issue:
>         There is a MariaDB in the same network, which I want to connect to. I
>         set up the jdbc-Interpreter as shown here (for the lack of a mariaDB
>         example in the 0.6.2 documentation, assuming it is the same):
>
>         https://zeppelin.apache.org/docs/0.7.1/interpreter/jdbc.html#mariadb
>
>         Now, when I open a notebook and type the following, it works fine:
>
>         %jdbc
>         show databases
>
>         If I run the following, it works also:
>
>         %jdbc
>         use testdb
>
>         Here comes the strange part. If I run the following, I get an Exception:
>
>         %jdbc
>         use testdb;
>         show tables;
>
>         You have an error in your SQL syntax; check the manual that corresponds
>         to your MariaDB server version for the right syntax to use near 'show
>         tables' at line 2
>         Query is : use testdb;
>         show tables;
>         class java.sql.SQLSyntaxErrorException
>         org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:127)
>         org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:71)
>         org.mariadb.jdbc.MariaDbStatement.executeQueryEpilog(MariaDbStatement.java:226)
>         org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:260)
>         org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:273)
>         org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:322)
>         org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:408)
>         org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
>         org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
>         org.apache.zeppelin.scheduler.Job.run(Job.java:176)
>         org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
>         java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>         java.util.concurrent.FutureTask.run(FutureTask.java:266)
>         java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>         java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>         java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>         java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         java.lang.Thread.run(Thread.java:745)
>
>         Also - if I run 'use testdb', again a query which works by itself, and I
>         run 'show tables' in a new panel directly after, then I get:
>
>         No database selected
>         Query is : show tables;
>         class java.sql.SQLException
>         org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:138)
>         org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:71)
>         org.mariadb.jdbc.MariaDbStatement.executeQueryEpilog(MariaDbStatement.java:226)
>         org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:260)
>         org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:273)
>         org.apache.zeppelin.jdbc.JDBCInterpreter.executeSql(JDBCInterpreter.java:322)
>         org.apache.zeppelin.jdbc.JDBCInterpreter.interpret(JDBCInterpreter.java:408)
>         org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
>         org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:341)
>         org.apache.zeppelin.scheduler.Job.run(Job.java:176)
>         org.apache.zeppelin.scheduler.ParallelScheduler$JobRunner.run(ParallelScheduler.java:162)
>         java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>         java.util.concurrent.FutureTask.run(FutureTask.java:266)
>         java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>         java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>         java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>         java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         java.lang.Thread.run(Thread.java:745)
>
>         Both approaches work on my local installation (which is zeppelin 0.7.2
>         with a local MySQL though, so not a fair comparison). Has anyone had
>         similar issues? Can anyone offer some advice on what might be going
>         wrong here?
>
>
>         Best regards,
>         Iavor
>
> --
> 이종열, Jongyoul Lee, 李宗烈
> http://madeng.net
Loading...