Apache spark 如何获得相邻齐柏林飞艇单元之间的上下文连续性

Apache spark 如何获得相邻齐柏林飞艇单元之间的上下文连续性,apache-spark,apache-zeppelin,Apache Spark,Apache Zeppelin,如下图所示,齐柏林飞艇有两个电池: 第一个单元格执行操作并将结果保存在out变量中 第二个单元格尝试对out变量执行操作。相反,有一个错误指示单元格甚至没有意识到它应该运行pyspark 所以-与jupyter/Ipyton笔记本不同-齐柏林飞艇似乎在各个单元之间没有连续性:每个单元都是完全独立的?这是一个严重的限制:我们希望将工作划分为块,并一次运行一个块。。就像在Jupyter中一样 那么,我是否遗漏了一些关于如何将单元格“链接”在一起的内容呢?每个段落(与jupyter中的单元格相同

如下图所示,齐柏林飞艇有两个电池:

  • 第一个单元格执行操作并将结果保存在
    out
    变量中
  • 第二个单元格尝试对
    out
    变量执行操作。相反,有一个错误指示单元格甚至没有意识到它应该运行pyspark

所以-与jupyter/Ipyton笔记本不同-齐柏林飞艇似乎在各个单元之间没有连续性:每个单元都是完全独立的?这是一个严重的限制:我们希望将工作划分为块,并一次运行一个块。。就像在Jupyter中一样

那么,我是否遗漏了一些关于如何将单元格“链接”在一起的内容呢?

每个段落(与jupyter中的单元格相同)都可以使用不同的技术。这些都是齐柏林飞艇支持的,称为intepreter。正因为如此,齐柏林飞艇才变得方便

假设如下用例。
  • 描述一个带有降价的笔记本

  • 预处理是带有Shell的数据,如curl、cp

  • 火花分析

  • 有些人使用带有临时表的Spark进行SQL分析

  • 使用Shell发布结果文件

范围 环境由同一笔记本中的同一intepreter直接共享。也就是说

相同类型的解释器中,一个段落中定义的变量/方法/类可以被以后执行的段落使用。它不需要在物理上更晚,只需要稍后执行

不同类型的解释器中,一个段落中定义的变量/方法/类不能被以后执行的段落使用

在不同的解释器之间,变量/方法/类不直接可见。可用于在不同口译员之间传递

在Spark和Pyspark之间,温度表彼此可见

默认解释器。
  • 一个笔记本可以有一个默认的解释器
  • 要使用的其他解释器应明确使用%符号
例子 这里有一个例子。

在某些情况下,变量无法跨单元格和语言访问可能是正确的,但是。(该链接只是指向一个示例,而不是API文档。)