以前有写过关于driver 开发的说明,实际上官方对于driver开发还是很不明确的,因为我们进行driver开发
包含了driver 以及query,cube.js 提供了BaseDriver 以及BaseQuery,一般我们开发就是基于这两个类进行
扩展,同时还有一个关于filter 的类(BaseFilter)进行一些过滤查询的处理
扩展BaseDriver可以提供不通数据库的访问处理,不如连接同时也包含了information_schmea 的处理,需要实现query
testConnection,同时也推荐实现release方法
const MySqlToGenericType = {
mediumtext: ‘text‘,
longtext: ‘text‘,
mediumint: ‘int‘,
smallint: ‘int‘,
bigint: ‘int‘,
};
扩展BaseQuery可以实现强大的sql生成处理,同时也是cube.js 比较核心的一个功能,日常开发中主要是关于时间的处理
关于大数据driver 都是比较值得学习参考的代码,我们可以方便的学习关于driver以及query 的开发,hive
cube.js 关于sql 的处理部分还是比较多的,同时也是比较方便的,强大的同时我们需要扩展的话也需要花更多的时间
后续如果有时间会详细介绍下关于cube.js 的设计
https://cube.dev/docs/
https://github.com/cube-js/cube.js/blob/master/CONTRIBUTING.md
原文:https://www.cnblogs.com/rongfengliang/p/14640602.html