Scala 语言是Spark Interpreter 的默认语言(%spark)。其实在Spark Interpreter 内部是启动了一个Spark Shell来运行用户提交的 Scala 代码。在Scala环境下,Spark Interpreter会为你自动创建出以下几个变量:

  • sc (SparkContext)
  • sqlContext (SQLContext)
  • spark (SparkSession)
  • z (ZeppelinContext)

所以请不要自己创建这些变量了,以免出现一些奇怪的问题。

Code Completion

Zeppelin里的Scala Shell是支持code completion的,按tab键就可以显示当前环境下的候选方法名,如下图:
image.png

ZeppelinContext

ZeppelinContext(变量名为z) 是在 Spark Scala Shell 环境下创建的一个提供一些高级用法的Class。比较实用的方法是 z.show。下面就是一个例子分别展示了如何用z.show来展示DataFrame
image.png

Scala 段落执行顺序

同一时间只能有一个Scala段落执行,Zeppelin是按照FIFO的顺序来执行Scala段落。所以如果你的一个Scala段落里正在跑一个Spark作业的话,另外一个Scala段落只能等待(处于PENDING状态)。

公众号 钉钉群

image.png image.png