我想要一个更具交互性的仪表板。就像从数据库中读取数据,将其提供给选择框,选择框的更改会发送值并运行查询。
我想在选择的值上使用齐柏林飞艇bcz来实现此目的,我必须显示分析数据。
通过齐柏林飞艇可以实现这一目标的方法是什么?
我尝试使用选择框,但无法保存所选值并将其发送到下一个查询并执行该操作。
就像是
select age, count(1) value
from bank
where marital="${marital=single,single|divorced|married}"
group by age
order by age
我没有得到如何存储此参数并将选定的参数从一个段落发送到另一段落的方法
还是类似从UI处理所有这些事情的方法,让我们说javascript html并将所选值作为参数发送到齐柏林飞艇?就像是
使用网址时
<iframe src="http://myipaddress:8080/#/notebook/2BWCNP7V8/paragraph/20160831-115204_1774035770?asIframe¶m1=value1¶m2=value2" width="500" height="300" scrolling="no" frameBorder="0" id="iframe1" style="text-align:center;" >Browser not compatible.</iframe>
并在我的齐柏林飞艇段落中使用这些param1 = value1&param2 = value2?
技术上可行或不我不明白。
请帮助我如何实现这一目标?
提前致谢 :)
最佳答案
我们可以通过以下代码获得所有婚姻
val maritals = bank.select("marital").distinct.collect.map(_.getString(0))
并转换为seq ZeppelinContext想要
val seq = mairitals.zipWithIndex.map{case (x,y) => (y.toString, x)}.toSeq
然后我们可以像这样选择它
val index = z.select("marital", "1", seq)
val marital = seq(index.toString.toInt)._2
并且
marital
可以用于进一步处理。喜欢。val sql = s"""select distinct job from bank where marital=="$marital""""
sqlContext.sql(sql).show
或者像当我使用spark-highcharts一样。在这种情况下,我想绘制某些婚姻状况下的平均年龄平衡图。
highcharts(bank.filter(col("marital") === marital)
.series("x" -> "age", "y" -> avg(col("balance")))
.orderBy(col("age"))).plot()
注意:更改值时,只有带有
select
的段落会自动执行。关于javascript - 齐柏林飞艇笔记本电脑的动态交互式仪表板,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39279889/