使用Apache Spark提供实时Web服务查询

Ahm*_*ous 1 web-services cassandra apache-spark apache-spark-sql

我们有一个用例,我们从数百个数据源下载大量数据(每天100千兆字节),按摩和处理这些数据,然后通过RESTful API向客户公开这些数据.今天基本数据大小是ca. 20TB并预计未来将大幅增长.

对于按摩/加工部分,我们认为火花对我们来说是一个非常好的选择.现在,通过API公开处理/按摩数据,一种选择是将处理后的数据存储到只读数据库(如ElephantDB),并使Web服务与ElephantDB交谈(至少这是Nathan在他的大数据书中提出的建议).我只是想知道我们制作Web服务实现使用SparkSQL从Spark访问处理数据的含义是什么.在这种情况下,建筑/设计的危险是什么?

每个人都在谈论Spark是快速的,什么不是,并使用SparkSQL进行交互式查询.但它是否已经处于通过SparkSQL提供大量Web服务查询的阶段,我们对延迟提供非常严格的SLA,每秒服务数百个Web服务请求?如果Apache Spark可以处理这个问题,我们可以避免维护另一个像ElephantDB或Cassandra这样的系统.

想听听这个董事会的专家.

Mar*_*ier 6

如果结果存储在文件中,则没有索引,SparkSQL也不会创建索引.唯一可以有点快的是从Parquet文件和缓存表中读取列.

但总的来说,使用SparkSQL来提供Web请求并不是一个很好的用例,因为Spark不是为此而制作的.