使用Apache Spark作为Web应用程序的后端

Raj*_*hna 11 hadoop scala apache-spark

我们在HDFS中存储了数TB的数据,包括客户数据和行为信息.业务分析师希望使用过滤器对这些数据进行切片和切割.

这些过滤器类似于Spark RDD过滤器.过滤器的一些例子是: age > 18 and age < 35,date between 10-02-2015, 20-02-2015,gender=male,country in (UK, US, India),等我们要整合我们的JSF这个过滤器功能(或播放)的Web应用程序.

分析师希望通过应用/删除过滤器进行实验,并验证最终过滤数据的计数是否符合要求.这是一次重复练习,使用此Web应用程序的最大人数可能在100左右.

我们计划使用Scala作为实现过滤器的编程语言.Web应用程序将在服务器的负载处初始化单个SparkContext,并且每个过滤器将重用相同的SparkContext.

Spark是否适用于通过Web应用程序进行交互式查询的用例.另外,共享一个SparkContext的想法,这是一种解决方法吗?另一个替代方案是Apache Hive with Tez引擎使用ORC压缩文件格式,并使用JDBC/Thrift查询.对于给定的工作,这个选项比Spark更好吗?

Mar*_*ier 4

这不是 Spark 的最佳用例,但完全有可能。但延迟可能会很高。

您可能想查看Spark Jobserver,它应该提供您所需的大部分功能。您还可以使用 Spark 的 JDBC Thrift 服务器获取数据的 SQL 视图。

一般来说,我建议使用 SparkSQL,它已经处理了很多你可能感兴趣的事情。

另一种选择是使用Databricks Cloud,但它尚未公开。