使用 Apache Spark Streaming 和 Dataframes 交互式搜索 Parquet 存储的数据

Interactively search Parquet-stored data using Apache Spark Streaming and Dataframes

我有大量数据作为 Parquet 文件存储在我的 Hadoop HDFS 上 我正在使用 Spark 流以交互方式接收来自 Web 服务器的查询,并使用 SparkSQL.

将接收到的查询转换为我的数据的 SQL 到 运行

在这个过程中,我需要 运行 几个 SQL 查询,然后 return 通过合并或减去单个查询的结果来 return 一些聚合结果。

有什么方法可以优化和提高流程速度,例如,运行查询已收到的数据帧而不是整个数据库?

有没有更好的方式交互式查询Parquet存储的数据并给出结果?

谢谢!

如果您在同一个 RDD 上 运行 多个查询,您将通过在查询之前使用 .cache() 缓存 RDD 来提高性能。

另外,您确定 Apache Spark 是完成这项工作的正确工具吗?从您描述的交互式查询中,也许 Impala or Presto 更合适。