如何解决Apache Zeppelin Spark - 使用 Cron 调度程序运行笔记本后找不到表
使用以前版本的 Apache Zeppelin 和 Spark,一切正常。 最近我们升级到 Zeppelin 0.9 和 Spark 3.0.2 (Hadoop 3.2)。 现在,我们在从 UI Cron 调度程序运行 Notebook 时遇到了问题。
在该计划的笔记本中创建表格后,手动运行任何笔记本/段落时都看不到/找不到该表格。
示例:
第 1 段
case class People(name: String,age: Int)
var df = spark.createDataFrame(List(People("jeff",23),People("andy",20)))
df.createOrReplaceTempView("people")
第 2 段
%sql
select * from people
如果这 2 个段落由 Zeppelin Cron 调度程序运行,则一切正常。 但是如果我只手动运行第 2 段,将找不到该表。
Table or view not found: people; line 2 pos 14;
'Project [*]
+- 'UnresolvedRelation [people]
当然,如果我手动运行第1段,就会找到表格。
由于这个问题,我们临时切换到使用 zeppelin API 触发器的 ubuntu crontab。但是在使用该解决方案时,我们遇到了一些奇怪的问题。在某些时候,几乎每天我们都必须重新启动整个集群,因为它不再工作了…… 这就是为什么我更喜欢使用内置的 Zeppelin cron 调度程序来工作。
我想某处有一个配置可以强制 Zeppelin 在相同的上下文中运行笔记本?我已将 Spark 解释器设置为在共享进程中全局实例化
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。