主要是因为trino 相比presto 有修改,所以重新开发了一个cube.js 的驱动
参考代码
trino node client 也基于官方的进行了调整,参考以下连接
- 代码结构
实际与presto 一样,所以代码也就没有太多修改,主要修改了依赖的驱动
参考使用
- .env
# Cube.js environment variables: https://cube.dev/docs/reference/environment-variables
CUBEJS_DB_HOST=localhost
CUBEJS_DB_USER=admin
CUBEJS_DB_CATALOG=elasticsearch
CUBEJS_DB_SCHEMA=myes
CUBEJS_WEB_SOCKETS=true
CUBEJS_DEV_MODE=true
#CUBEJS_DB_TYPE=prestodb
CUBEJS_API_SECRET=49fe8a88271d95c5df53af85915c56fee6152737847cf685d0e794bf83beac7025b7fd673ac36dacddd205f9b7ee861ee5cd0e06367eb88691755ddccedc199b
cube.js
// Cube.js configuration options: https://cube.dev/docs/config
const {PrestoDriver,PrestodbQuery} = require("@dalongrong/trino-driver")
module.exports = {
dialectFactory: (dataSource) => {
// need config datasource for multitenant env
return PrestodbQuery
},
dbType: ({ dataSource } = {}) => {
return "trino"
},
driverFactory: ({ dataSource } = {}) => {
return new PrestoDriver({})
}
};
- 效果
说明
trino node client 以及cube.js driver 都已经push npm 官方仓库了,大家可以直接使用
参考资料
https://github.com/rongfengliang/cubejs-trino-driver
https://github.com/rongfengliang/trino-client