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
(全是小写字母),它开始返回数据。
我使用 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
(全是小写字母),它开始返回数据。