Presto - 无法查询 Mongo Collection 条记录

Presto - Failing to query Mongo Collection records

我使用 mongodb 连接器在本地完成了 Presto set-up,下面是目录 mongodb 属性:

connector.name=mongodb
mongodb.seeds=my-mongodb:27017
mongodb.credentials=admin:password@mydb
mongodb.ssl.enabled=false
mongodb.case-insensitive-name-matching=true

其中一个 Collection 是 local_geodata,它的列很少,其中有大约 5 条记录。但是,当尝试通过 Presto cli 查询时,它向我抛出如下错误:

presto> use mongodb.mydb;
USE
presto:mydb> show tables;
                                       Table                                       
-----------------------------------------------------------------------------------
 local_geodata                                                                          
 presto_schema                                                                     
(2 rows)

presto:mydb> select * from local_geodata;
Query 20220213_152931_00039_3h2ec failed: Table has no columns: TableHandle {connectorId='mongodb', connectorHandle='mydb.local_geodata', layout='Optional.empty'}

根据文档,为了让 Presto 理解我的 collection 的架构,我继续创建了一个新的 collection presto_schema 并在此 collection 使用 local_geodata collection 架构并使用新条目 mongodb.schema-collection=presto_schema 更新了目录 mongodb.properties,但是,这次它标识了 Collection,但是 returns 0 条记录(collection 有 5 条记录)。

请在此处输入任何内容?

Presto Version: 0.269 MongoDB Version: 4.4

里面的数据presto_schema

presto> select * from mongodb.geosnipe.presto_schema;
         table          |                                                                                       fields                                                                                        
------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 local_geodata | [{name=_id, type=ObjectId, hidden=true}, {name=city, type=varchar, hidden=false}, {name=country, type=varchar, hidden=false}, {name=ip, type=varchar, hidden=false}] 
 presto_schema          | [{name=_id, type=ObjectId, hidden=true}, {name=table, type=varchar, hidden=false}, {name=fields, type=array(row(name varchar,type varchar,hidden boolean)), hidden=false}]          
(2 rows)

仔细查看了我所有的 set-up 似乎我找到了罪魁祸首,它是集合名称,我将其命名为 local_geoData 并将其更改为 local_geodata (全是小写字母),它开始返回数据。