Presto on MongoDB 随记

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'

_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信息即可

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容