Apache Zeppelin postgres Null Pointer Exception

时间:2016-01-20 16:05:00

标签: postgresql apache-spark sh apache-zeppelin

我尝试将查询连接到远程postgres数据库 -

%psql.sql

select * from my_schema.my_table limit 5

我更新了解释器值,但仍然出现以下错误 -

  

java.lang.NullPointerException at   org.apache.zeppelin.postgresql.PostgreSqlInterpreter.executeSql(PostgreSqlInterpreter.java:201)     在   org.apache.zeppelin.postgresql.PostgreSqlInterpreter.interpret(PostgreSqlInterpreter.java:288)     在   org.apache.zeppelin.interpreter.ClassloaderInterpreter.interpret(ClassloaderInterpreter.java:57)     在   org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:93)     在   org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer $ InterpretJob.jobRun(RemoteInterpreterServer.java:302)     在org.apache.zeppelin.scheduler.Job.run(Job.java:171)at   org.apache.zeppelin.scheduler.FIFOScheduler $ 1.run(FIFOScheduler.java:139)     在   java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)     在java.util.concurrent.FutureTask.run(FutureTask.java:266)at   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)

我尝试从shell访问但出现错误 -

  

进程退出并显示错误:2(退出值:2)

我怀疑它与尝试获取密码的事实有关。但是同样的命令+密码在我的终端上有效。

另一个相关问题是解释器中的属性不包含数据库名称。我将其添加为postgresql.database,但我不确定是否使用了此属性。

如果您有任何解决方法,请告诉我,谢谢!

2 个答案:

答案 0 :(得分:4)

zeppelin不会挑选你的财产postgresql.database

在postgres jdbc URL属性中指定数据库名称。像 jdbc:postgresql:// host:port / database

有关postgres jdbc网址的详细信息,请参阅https://jdbc.postgresql.org/documentation/80/connect.html

答案 1 :(得分:0)

您的部分凭据可能有误。我输入的用户名不正确并得到类似的东西:

java.lang.NullPointerException at org.apache.zeppelin.postgresql.PostgreSqlInterpreter.executeSql(PostgreSqlInterpreter.java:202)