我们有一个系统,它包含一个用于计算报表的数据管道,还有一个UI层,它可以进行特殊的查询,并在查询后对数据集进行一些特定的计算。我正在考虑将现有的批处理数据处理层迁移到Spark,但我不太确定UI应用程序层。
棘手的部分是,来自UI的请求还需要将某些函数应用于数据集。我还没有找到任何查询引擎,比如Elasticsearch,它可以从查询结果中应用自定义函数。因此,我想知道,假设源数据已经缓存在Spark会话中,让UI层直接触发Spark是否是个好主意。
所以我的问题是:
如有任何建议,将不胜感激。
发布于 2020-09-09 07:01:51
虽然这是基于意见的问题,但我想根据我的观察来回答。
是实时交互应用的正确解决方案吗?有什么可供选择的?
直接从内存表中查询是个坏主意。在多个并发用户的情况下,您可能会遇到类似请求排队的问题。星星之火关闭UI不可用..。基于LRU等的内存中的火花表被逐出内存。
存储数据是适合您需要的持久存储。ES,hive,Cassandra,RDBMS等如果数据存储上需要SQL,请检查PrestoSQL。
我想让UI应用程序在Spark集群之外运行。那么,是否有任何框架可以用于外部服务来触发火花作业?或者利用现有的火花会议?
我们有外部用户界面连接到现有的星火集群使用火花作业服务器。您可以探索同样的或者可能是apache。
https://stackoverflow.com/questions/63805101
复制相似问题