java之如何在Apache Drill中实现Mongo Storage Plugin的INNER JOINS(下推)优化
xing901022
阅读:26
2024-05-22 17:00:29
评论:0
我想延长Apache Drill Mongo Storage Plugin推下 INNER JOIN。所以我想改写INNER JOIN
进入 mongo 聚合管道。
我们需要如何开始实现 Apache Drill 中的重写? .
这是一个 SQL 示例:
SELECT *
FROM `mymongo.db`.`test` `test`
INNER JOIN `mymongo.db`.`test2` `test2`
ON (`test`.`id` = `test2`.`fk`)
WHERE `test2`.`date` = '09.05.2017'
我找到了 push down的
WHERE
Mongo 存储插件中的子句。但我仍在努力为
INNER JOINS
做同样的事情.
public class MongoPushDownInnerJoinScan extends StoragePluginOptimizerRule
的构造函数如何?看起来像?相当于
MongoGroupScan
(
AbstractGroupScan
) 我必须实现吗?任何帮助将不胜感激。
请您参考如下方法:
如果您想使用类似于 SQL 的聚合框架进行内部连接,您可以使用管道阶段 $lookup 来完成。
$lookup:
{
from: <collection to join>,
localField: <field from the input documents>,
foreignField: <field from the documents of the "from" collection>,
as: <output array field>
}
}
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。