主要是因为trino 相比presto 有修改,所以重新开发了一个cube.js 的驱动

参考代码

trino node client 也基于官方的进行了调整,参考以下连接

  • 代码结构

实际与presto 一样,所以代码也就没有太多修改,主要修改了依赖的驱动
cube.js trino driver_cube.js

 

 

参考使用

  • .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({})
    }
};
 
 
  • 效果

cube.js trino driver_cube.js _02

 

 

说明

trino node client 以及cube.js driver 都已经push npm 官方仓库了,大家可以直接使用