规避dremio数据查询限制的一些方法

dremio 对于查询的数据是有一些限制的,比如数据表字段的内容大小不能超多32k(很多时候我们使用字段存储文本内容的时候就很容易超过)
以下是一些简单的解决方法

32kb 问题

  • 基于视图
    主要是移除数据过大的列
    mongo db 参考方法(需要3.4版本)
 
db.createView(
    "mydemoactiveinfo",         
    "ActivityInfo",             
    [
        { $match: { "ts": { $gte: ISODate("2020-04-13T16:00:00.000Z") } } },
        { $sort: { "ts": -1 } },
        { $project: { _id: 1, activity_title: 1, activity_subhead: 1, online_meeeting: 1, publisher:1} }
    ]
)
 
 

关系数据库可以直接使用create view 解决(大部分关系型数据库都支持视图)
说明:对于数据的处理可以在源数据,同时也可以通过类似pg fdw 或者数据库链接的模式解决

  • 基于etl 工具解决
    移除偏大的不需要分析的列,写入一个数据库中,然后进行查询
    说明:缺点也比较明显,没有了实时关联查询的能力了

mongo 等非关系型数据库schema 不一致问题

没有好的解决方法,核心还是规避不一致的,可以通过数据虚拟层解决(只需要需要的数据),或者清理下有问题的document 字段

excel 文件大小10m问题

可以通过excel->csv 或者json 格式进行解决

说明

其他的一个限制,也可以通过类似拆分i以及转换的模式解决

参考资料

https://docs.dremio.com/advanced-administration/limits.html

原文地址:https://www.cnblogs.com/rongfengliang/p/14433133.html