我创建了一个应用程序,该应用程序从文件中清除和丰富一些数据,并且一次以Dataset<Row>
的形式提供它们。
在我理想的世界中,Apache Zeppelin
可以抓住它,我只创建一个笔记本,然后轻松地为最终用户获得数据可视化。
我尝试过Apache Zeppelin
作为演示,但我从未真正接触过它。它可以满足我的期望吗?
或者对我的应用程序来说,将其创建的Dataset<Row>
的结果存储到某些镶木文件中是强制性的,然后Apache Zeppelin
在其侧面,应将这些镶木文件中的数据重新加载到它的Spark中sessionContext?
您知道我想避免这种步骤!
具有Apache Zeppelin
能够捕获和使用“第三方数据集”的功能,只要它是由与使用的相同Apache Spark
版本创建的?
您可以使用Apache Ignite。
Apache Ignite提供了Spark RDD的实现,允许任何数据和状态作为Spark上的RDD在内存中共享工作。 Ignite RDD提供了一个共享的,可变的数据视图跨不同Spark作业,工作人员或任务存储在Ignite缓存中应用程序。
Ignite支持DataFrame API,允许Spark写入和读取从Ignite通过该界面。此外,点燃分析由Spark的Catalyst引擎生成并可以执行的执行计划将计划的部分直接放在Ignite节点上,这将减少数据改组,因此使您的SparkSQL性能更好。
[另外,here是一个很棒的视频,解释了如何使用Apache Ignite。