我创建了一个应用程序,它可以清理和丰富文件中的一些数据,并且每次都可以以Dataset<Row>
的形式使用这些数据。
在我理想的世界里,Apache Zeppelin
能够抓取它,我只会创建一个笔记本,然后轻松地为最终用户获得数据可视化。
我试过Apache Zeppelin
作为演示,但我从来没有真正参与过。它能达到我的预期吗?
或者,我的应用程序是否必须将其创建的Dataset<Row>
的结果存储到一些镶木地板文件中,然后将Apache Zeppelin
存储在它的一侧,是否应该将这些镶木地板的数据重新加载到它的Spark会话上下文中?
你知道我想避免这样的步骤!
Apache Zeppelin
是否有能力捕获"第三方数据集"并使用它,前提是它是由使用的Apache Spark
版本创建的?
您可以使用Apache Ignite。
Apache Ignite提供了Spark RDD的实现允许任何数据和状态作为RDD在Spark中共享工作。Ignite RDD提供了一个共享的、可变的数据视图存储在不同Spark作业、工人或应用程序。
Ignite支持DataFrame API,允许Spark写入和读取通过接口从Ignite。此外,Ignite分析Spark的Catalyst引擎生成的执行计划,并且可以执行计划的一部分直接放在Ignite节点上,这将减少数据洗牌,从而使您的SparkSQL性能更好。
此外,这里有一个很棒的视频,解释了如何使用Apache Ignite。