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