Zeppelin - 将变量从Spark传递到Markdown以生成动态叙述文本

Mar*_*mer 4 apache-zeppelin

是否可以将Spark解释器(pyspark或sql)中的变量传递给Markdown?要求是显示格式正确的文本(即Markdown),例如"2017-01-01和2017-01-08之间发生的20个事件",其中20,2017-01-01和2017-01-08是动态填充的基于其他段落的输出.

Mar*_*mer 8

为了其他用户的利益发布这个,这是我能够找到的:

  • Markdown段落只能包含静态文本.
  • 但是,可以使用Angular解释器来实现动态格式化文本输出.

(第一段)

%spark
// create data frame
val eventLogDF = ... 
// register temp table for SQL access
eventLogDF.registerTempTable( "eventlog" )

val query = sql( "select max(Date), min(Date), count(*) from eventlog" ).take(1)(0)
val maxDate = query(0).toString()
val minDate = query(1).toString()
val evCount = query(2).toString()

// bind variables which can be accessed from angular interpreter 
z.angularBind( "maxDate", maxDate )
z.angularBind( "minDate", minDate )
z.angularBind( "evCount", evCount ) 
Run Code Online (Sandbox Code Playgroud)

(第二个paragaph)

%angular

<div>There were <b>{{evCount}} events</b> between <b>{{minDate}}</b> and <b>{{maxDate}}</b>.</div>
Run Code Online (Sandbox Code Playgroud)