规避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以及转换的模式解决