在 Apache Drill 中使用嵌套模式查询 MongoDB
Querying a MongoDB with nested schema in Apache Drill
我有一个简单的 Mongo 数据库(进一步简化如下),我正在使用 Apache Drill 进行查询。
- 使用以下行创建一个名为 small.json 的 json 文件:
{"_id":{"$oid":"56a784b76952647b7b51c562"},"provenance":{"image":
{"case_id":"TCGA-TS2","subject_id":"TCGA"}}}
- 使用 small.json 创建一个 Mongo 数据库,如下所示:
mongoimport --db users --collection contacts --type small.json
- 我可以像下面这样查询上面的数据库,并得到结果。
SELECT camic.provenance.image.case_id caseid
FROM mongo.users.contacts
camic
+-----------+
| caseid |
+-----------+
| TCGA-TS2 |
+-----------+
1 row selected (1,26 seconds)
但是,当"WHERE"涉及嵌套元素时,查询失败,如下所示。
SELECT camic.provenance.image.case_id caseid
FROM mongo.users.contacts
camic
WHERE caseid = 'TCGA-TS2';
(预期结果与上面相同,没有 WHERE 子句)。
这可能是一个错误,我已报告:https://issues.apache.org/jira/browse/DRILL-4855
是否有任何解决方法可以使用 Apache Drill 获得涉及 Mongo 中嵌套元素的结果?
SELECT camic.provenance.image.case_id caseid
FROM mongo.users.contacts camic
WHERE camic.provenance.image.case_id = 'TCGA-TS2';
我们不能在以下子句中引用列别名:
- 哪里
- 分组依据
- 拥有
我有一个简单的 Mongo 数据库(进一步简化如下),我正在使用 Apache Drill 进行查询。
- 使用以下行创建一个名为 small.json 的 json 文件:
{"_id":{"$oid":"56a784b76952647b7b51c562"},"provenance":{"image": {"case_id":"TCGA-TS2","subject_id":"TCGA"}}}
- 使用 small.json 创建一个 Mongo 数据库,如下所示:
mongoimport --db users --collection contacts --type small.json
- 我可以像下面这样查询上面的数据库,并得到结果。
SELECT camic.provenance.image.case_id caseid
FROM mongo.users.
contacts
camic+-----------+
| caseid |
+-----------+
| TCGA-TS2 |
+-----------+
1 row selected (1,26 seconds)
但是,当"WHERE"涉及嵌套元素时,查询失败,如下所示。
SELECT camic.provenance.image.case_id caseid FROM mongo.users.
contacts
camic WHERE caseid = 'TCGA-TS2';
(预期结果与上面相同,没有 WHERE 子句)。
这可能是一个错误,我已报告:https://issues.apache.org/jira/browse/DRILL-4855
是否有任何解决方法可以使用 Apache Drill 获得涉及 Mongo 中嵌套元素的结果?
SELECT camic.provenance.image.case_id caseid
FROM mongo.users.contacts camic
WHERE camic.provenance.image.case_id = 'TCGA-TS2';
我们不能在以下子句中引用列别名:
- 哪里
- 分组依据
- 拥有