将 Zeppelin 与外部 javascript 工具一起使用,例如 plotly
Use Zeppelin with external javascript tools like plotly
我目前使用本地 Tomcat/JSP service/webpage 通过 sql 获取数据并使用 plotly 将其显示在网络浏览器上(使用此 javascript 库本地呈现)。我想由用户进行更多的数据整理,例如过滤,而不能使用 sql 来完成,因为 sql 查询需要几秒钟,而一个网页的多个 sql 查询会花费太多时间。在 JSP 中,数据过滤非常复杂,因为您必须编写自己的过滤函数,例如 https://blog.pavelsklenar.com/using-filteredrowset-simple-example/ or http://www.java2s.com/Code/Java/Database-SQL-JDBC/FilteredRowSetDemo.htm 。如果你知道 Pythons Pandas 或 sql 这似乎太复杂了。
我想知道 Zeppelin 是否是采用这些步骤的良好解决方案:
- 直接通过 sql 获取数据(已经有效),但集成显示的可能性很好,但对我来说还不够。
- 用户可以使用 AngularJS 视图 (https://zeppelin.apache.org/docs/0.7.3/displaysystem/front-end-angular.html) 调整多个过滤器(例如 column1 在 1 和 3 之间等等)。
- 读取最后一段中的过滤器范围,并使用 python 的 pandas 和一些过滤器进行数据整理,并将其保存为新数据框。
- 使用这个过滤后的数据框并使用本地 plotly.js 文件绘制数据(我有纯 plotly JS 代码)。通常,它可以将 %angular 段落作为 Using d3.js with Apache Zeppelin 使用(即使没有来自“else”的代码,所以 d3 似乎可以在开箱即用的 zeppelin 中使用)。但我想知道
- 如何将数据帧从 Python 传递到 Angular 节点。根据 https://zeppelin.apache.org/docs/0.7.3/displaysystem/back-end-angular.html 我必须使用 Spark 来使用变量;所以看来我必须整合一个火花包装段落。之后我是否必须编写将数据帧转换为 JSON 或类似代码的代码?
- 如何使用 plotly 或其他本地 javascript 文件?如何指定位置?
你怎么看或者你有other/better的想法?
我通过使用非交互式(这意味着没有像 plotly 或 d3 这样的 javascript 库)解决了这个问题,使用 python 的 matplotlib 来完成绘图任务。
我目前使用本地 Tomcat/JSP service/webpage 通过 sql 获取数据并使用 plotly 将其显示在网络浏览器上(使用此 javascript 库本地呈现)。我想由用户进行更多的数据整理,例如过滤,而不能使用 sql 来完成,因为 sql 查询需要几秒钟,而一个网页的多个 sql 查询会花费太多时间。在 JSP 中,数据过滤非常复杂,因为您必须编写自己的过滤函数,例如 https://blog.pavelsklenar.com/using-filteredrowset-simple-example/ or http://www.java2s.com/Code/Java/Database-SQL-JDBC/FilteredRowSetDemo.htm 。如果你知道 Pythons Pandas 或 sql 这似乎太复杂了。
我想知道 Zeppelin 是否是采用这些步骤的良好解决方案:
- 直接通过 sql 获取数据(已经有效),但集成显示的可能性很好,但对我来说还不够。
- 用户可以使用 AngularJS 视图 (https://zeppelin.apache.org/docs/0.7.3/displaysystem/front-end-angular.html) 调整多个过滤器(例如 column1 在 1 和 3 之间等等)。
- 读取最后一段中的过滤器范围,并使用 python 的 pandas 和一些过滤器进行数据整理,并将其保存为新数据框。
- 使用这个过滤后的数据框并使用本地 plotly.js 文件绘制数据(我有纯 plotly JS 代码)。通常,它可以将 %angular 段落作为 Using d3.js with Apache Zeppelin 使用(即使没有来自“else”的代码,所以 d3 似乎可以在开箱即用的 zeppelin 中使用)。但我想知道
- 如何将数据帧从 Python 传递到 Angular 节点。根据 https://zeppelin.apache.org/docs/0.7.3/displaysystem/back-end-angular.html 我必须使用 Spark 来使用变量;所以看来我必须整合一个火花包装段落。之后我是否必须编写将数据帧转换为 JSON 或类似代码的代码?
- 如何使用 plotly 或其他本地 javascript 文件?如何指定位置?
你怎么看或者你有other/better的想法?
我通过使用非交互式(这意味着没有像 plotly 或 d3 这样的 javascript 库)解决了这个问题,使用 python 的 matplotlib 来完成绘图任务。