Presto读取确字段问题
由于Mongo是NoSql数据库,其文档存储并没有关系型数据库的固定shema, 所以官网文档建议配置mongodb.schema-collection=xxx 来指定schema
详细见MONGODB CONNECTOR
那如果不配置这个呢? Presto将在对collection发起语句时,在其所属的database下自动生成一个名为_schema
的collection
例如:select *from tss_hall_prize.cart where uid=20054;
_schema
内的一个Document如下
{
"_id" : ObjectId("5f83c17a709fcc2ae0833cd6"),
"table" : "cart",
"fields" : [
{
"name" : "_id",
"type" : "ObjectId",
"hidden" : true
},
{
"name" : "exchange_type",
"type" : "bigint",
"hidden" : false
},
{
"name" : "prize_id",
"type" : "bigint",
"hidden" : false
},
{
"name" : "uid",
"type" : "bigint",
"hidden" : false
},
{
"name" : "created_at",
"type" : "bigint",
"hidden" : false
},
{
"name" : "num",
"type" : "bigint",
"hidden" : false
}
]
}
这个_schema
是Presto自动推测生成的,可能会缺少某些字段的解析,导致presto查不出想要的字段内容,此时根据官网介绍向这个collection添加自己所需的shema信息即可
网友评论