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 - 角度单元格中的 Jquery datepicker 不起作用