Apache zeppelin - 带有角度和 zeppelin 解释器的变量范围

Posted

技术标签:

【中文标题】Apache zeppelin - 带有角度和 zeppelin 解释器的变量范围【英文标题】:Apache zeppelin - scope of the variable with angular and zeppelin interpreter 【发布时间】:2015-08-22 23:00:18 【问题描述】:

我正在玩这个教程

https://github.com/apache/incubator-zeppelin/pull/27#issuecomment-90769401

似乎 val selectedTable 的范围可以从 %%angular 解释器访问,但不能从 zeppelin 解释器访问。

例如,从 turorial 的第 2 段


val stat = sqlContext.sql("select count(*) as cnt, min(balance), cast(avg(balance) as INT), max(balance) from " + z.angular("selectedTable")).collect

val count = stat(0)(0)
val minBalance = stat(0)(1)
val maxBalance = stat(0)(2)
val avgBalance = stat(0)(3)

print(s"""%angular
<h2>Table selectedTable</h2>
<hr />
<div class="row">
    <div class="col-md-6"><center><h3>$count</h3>Total customers</center></div>
    <div class="col-md-6"><center><h3>$minBalance</h3>Minimum balance</center></div>
</div>
<br />
<div>
    <div class="col-md-6"><center><h3>$maxBalance</h3>Average balance</center></div>
    <div class="col-md-6"><center><h3>$avgBalance</h3>Maximum balance</center></div>
</div>
<br /><br /><br /><br /><br /><br /><br />

""")

当我使用 select 并将值从“bank”切换到“married”时,selectedTable(打印标题的 %%angula 解释器)的值立即更改(没有单击除第一次以外的播放按钮)但查询未运行。换句话说,没有数据加载到图表中。

如果您查看此 url https://youtu.be/QdjZyOkcG_w?t=15 的视频,您会看到每次选择具有不同的值时,所有查询都会被一一执行。

有人有同样的问题吗?

提前谢谢你

【问题讨论】:

我也面临同样的问题。你有机会解决它吗? 【参考方案1】:

我遇到了同样的问题,对 selectedTable 的引用立即更新,但没有一个笔记本单元自动运行。我能够通过更改 z.angularWatch() 函数中的 z.run() 值来纠正该问题。

z.run() 刷新/运行引用的任何单元格的内容,因此 z.run(0) 运行第一个单元格,依此类推。应该更新默认的 z.run(2[3,4], selectedTableContext) 以匹配笔记本中的正确单元格。

【讨论】:

有没有办法按名称而不是按索引运行单元格? 这是一个旧帖子,但有一个段落ID,可以在该段落的右上角“设置”图标中获得。所以你可以做一个 z.run('paragraph_1234_12233'),其中 'paragraph_1234_12233' 是段落 id 的一个例子。我正在使用 Zeppelin 0.9.0-preview1,但我认为这也适用于以前的版本。

以上是关于Apache zeppelin - 带有角度和 zeppelin 解释器的变量范围的主要内容,如果未能解决你的问题,请参考以下文章

Apache Zeppelin:使用 z.run() 从另一个运行段落会引发空指针异常

如何在 Zeppelin 上从 JavaScript 设置角度变量值

apache zeppelin入门

Apache Zeppelin - 角度单元格中的 Jquery datepicker 不起作用

使用 Apache Zeppelin 重新运行带有 -deprecation 的 Scala 代码

Apache zeppelin 进程死亡