Java 如何在ApacheDrill中为Mongo存储插件实现内部连接优化(下推)?
我想扩展,以向下推内部连接。因此,我想将Java 如何在ApacheDrill中为Mongo存储插件实现内部连接优化(下推)?,java,mongodb,jdbc,odbc,apache-drill,Java,Mongodb,Jdbc,Odbc,Apache Drill,我想扩展,以向下推内部连接。因此,我想将内部连接重写到mongo聚合管道中 我们需要如何开始在中实现重写 下面是一个SQL示例: SELECT * FROM `mymongo.db`.`test` `test` INNER JOIN `mymongo.db`.`test2` `test2` ON (`test`.`id` = `test2`.`fk`) WHERE `test2`.`date` = '09.05.2017' 我在Mongo存储插件中找到了ofWHERE子句。但对于内部联
内部连接
重写到mongo聚合管道中
我们需要如何开始在中实现重写
下面是一个SQL示例:
SELECT *
FROM `mymongo.db`.`test` `test`
INNER JOIN `mymongo.db`.`test2` `test2`
ON (`test`.`id` = `test2`.`fk`)
WHERE `test2`.`date` = '09.05.2017'
我在Mongo存储插件中找到了of
WHERE
子句。但对于内部联接
,我仍在努力做到这一点。公共类MongoPushDownInnerJoinScan扩展了StoragePluginOptimizerRule
的构造函数是什么样子的?我需要实现与MongoGroupScan()等效的哪个?非常感谢您的帮助。如果您想使用类似SQL的聚合框架进行内部连接,可以使用pipeline stage$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>
}
}
$lookup:
{
发件人:,
localField:,
外域:,
作为:
}
}
您应该试试演练邮件列表。