我尝试将查询连接到远程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
,但我不确定是否使用了此属性。
如果您有任何解决方法,请告诉我,谢谢!
答案 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)