我们使用Hive分析我们的日志数据,并将聚合结果存储在S3上的每日分区文本字段中(让我们称之为“粗略”聚合)。
这些聚合结果相当小(每天不超过几MB),我们有一个Javascript仪表板,可以加载和可视化这些数据的某些方面(让我们称之为“细粒度”聚合)。
现在我们使用Javascript代码执行“细粒度”聚合。为简单起见,我也想在这里使用SQL查询。我想知道这种问题存在哪些最佳实践?
A)我们可以在Hive中生成所有“细粒度”聚合。但是,在Hive上运行这些小型数据集需要很长时间。
B)我们可以在S3和Javascript之间引入一个可以运行SQL查询的“快速访问层”。你会推荐什么查询引擎?
答案 0 :(得分:1)
使用Presto快速访问不是很大的数据集。 Presto是一个内存中分布式SQL查询引擎,针对交互式查询,星型模式连接(具有小尺寸的大事实表)进行了优化。没有磁盘写入的内存到内存数据传输是presto的一个关键特性。您可以使用Presto Hive connector查询Hive表。