繁体   English   中英

将spark RDD用作REST API中的数据源

[英]Use spark RDD as a source of data in a REST API

有一个在Spark上计算并存储到Cassandra的图形。
还有一个REST API,该API的端点具有获取带有边缘和边缘的图节点的端点。
该第二度图可以包括多达70000个节点。
当前使用Cassandra作为数据库,但是通过键从Cassandra提取大量数据需要大量时间和资源。
我们尝试了TitanDB,Neo4j和OriendDB来提高性能,但Cassandra表现出最好的结果。

现在有另一个想法。 在API服务中以及在API调用中,持久化RDD(或可能是GrapgX对象)来自持久化RDD的必要数据。
我猜想它会在RDD装入内存的情况下快速运行,但是如果它缓存到磁盘,它将像完整扫描(例如完整扫描拼花文件)一样工作。 我也希望我们将面对这些问题:

  • 火花中的内存泄漏;
  • 更新此RDD(不保留先前的内容,阅读新内容并保留新内容)将需要停止API;
  • 使用此RDD并发将需要手动管理CPU资源。

有人有这样的经验吗?

Spark不是存储引擎。 除非您每次都会处理大量数据,否则应考虑:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM