在100 TB数据上执行Spark SQL查询

时间:2018-06-22 06:32:29

标签: sql apache-spark

我正在寻找使用Spark SQL查询静态数据源(hdfs)的最优化方式。

查询是简单选择,带有偶尔的过滤器(无联接),但我想在几秒钟内显示结果。

我听说布隆过滤器在这种情况下可能有用,或者结构化流也可能有用。

任何方法或建议

2 个答案:

答案 0 :(得分:0)

您是否考虑改用PrestoDB?从上面的细节来看,听起来更适合设置Preso,提供对Presto UI的访问以及对数据运行查询,而不是通过Spark应用程序实施任意SQL处理。

答案 1 :(得分:0)

据我所知,

100 TB确实排除了内存解决方案。 关于您关于SparkStreming的问题;流处理框架(在这种意义上,火花流不是一种经典的方法,因为它具有微批处理功能)不适合您描述的用例。

通过流式传输,您的查询(或您的情况下的过滤器)可以站立,编译并可以使用,而数据流则不断地通过它们进行处理,从而处理数据。

根据您的查询; select查询是否可以在任意列上运行,或者它是预定义的?