【问题标题】:Issue with PrestoDB & MongoDBPrestoDB 和 MongoDB 的问题
【发布时间】:2017-01-27 20:44:01
【问题描述】:

我从 presto CLI 查询 mongodb 时遇到了一些奇怪的问题。我设置了 mongodb.properties 并连接到 3 个不同的数据库,如下所示。

connector.name=mongodb mongodb.seeds=172.23.0.7:27017 mongodb.schema-collection=stage,configuration,hub mongodb.credentials=<username>:<password>@stage,<username>:<password>@hub,<username>:<password>@configuration

包括show columns from &lt;collection&gt;select count(*) from &lt;collection&gt; 在内的所有查询都不适用于舞台或集线器以及配置中的集合。

问题是,Presto 是否支持 MongoDB 上的此类查询。如果是,我的配置或查询可能有什么问题。我们的目的是比较 Oracle 和 MongoDB 的数据。

感谢您的帮助。

【问题讨论】:

  • “不工作”不是很有帮助。您是否收到错误消息,如果有,它说明了什么?你没有结果吗?什么?
  • 我很抱歉。当我说“不工作”时,它没有显示某些集合中的文档总数。我有大约 113 个集合,只有 15 个集合显示结果和列名。其余显示零文档和列。
  • 我们找出了问题所在。我们的数据库和馆藏的名称以标题格式命名。查询仅对小写集合执行良好。这可能是一个问题,因为我们使用的是 Linux,而且它们似乎区分大小写。

标签: presto


【解决方案1】:

这是一篇旧帖子,但我希望这对未来的用户仍然有用。您不应该这样设置mongodb.schema-collection。此属性旨在指向描述其他集合模式的 mongo 集合,如果存在,通常默认为 _schema。这在大多数 presto 发行版的文档中都有介绍,包括 prestodb

这不允许您控制 Presto 可以访问哪些集合,这必须在其他地方完成(例如,在 MongoDB 集群中设置 presto 的用户时)。正确设置后,Presto 将能够在它有权访问的所有集合中执行查询,例如您的示例中的查询。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-18
    • 2020-06-25
    • 1970-01-01
    • 2021-02-22
    • 2019-03-28
    • 2018-04-16
    相关资源
    最近更新 更多