You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@zeppelin.apache.org by Iavor Jelev <ia...@babelmonkeys.com> on 2017/07/05 11:12:32 UTC

Problem with MariaDB and jdbc

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

Re: Problem with MariaDB and jdbc

Posted by Iavor Jelev <ia...@babelmonkeys.com>.
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 <darren@ontrenet.com
> <ma...@ontrenet.com>> 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"
>     <iavor.jelev@babelmonkeys.com <ma...@babelmonkeys.com>>
>     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

Re: Problem with MariaDB and jdbc

Posted by Jongyoul Lee <jo...@gmail.com>.
We DID provide two statements in a paragraph for a while, but this features
looks broken.

On Tue, 11 Jul 2017 at 03:14 <da...@ontrenet.com> 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" <
> iavor.jelev@babelmonkeys.com> 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

Re: Problem with MariaDB and jdbc

Posted by da...@ontrenet.com.
Best as i recall you can't have two sql statements in one zeppelin note. Try separating them.




Get Outlook for Android







On Wed, Jul 5, 2017 at 7:13 AM -0400, "Iavor Jelev" <ia...@babelmonkeys.com> 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