cube.js 学习(一)简单项目创建】的更多相关文章

cube.js 是一个很不错的模块化分析框架,基于schema生成sql 同时内置可代码生成,可以快速的搞定 web 分析应用的开发 安装cli 工具 npm install -g cubejs-cli 创建简单应用 使用cli cubejs create pg-demo -d postgres 准备pg 数据库 使用docker-compose version: "3" services: postgres: image: postgres:9.6.11 ports: - "…
cube.js 对于mongodb 的连接是通过mongodb bi connector(mysql 协议)处理的,以下为简单的试用 安装mongo bi connector 这个玩意用docker 跑起来有点烦,直接试用本地运行,后期制作一个docker 镜像 下载地址 参考地址 https://www.mongodb.com/download-center/bi-connector/releases 简单配置 默认安装包已经内置了一个配置文件,我们只需要简单修改下就可以使用了,注意schem…
这个是一个简单的demo,使用gitbase+cube 分析git 仓库代码 需求 我们平时使用的gitlab,或者gogs 等git 仓库管理工具,有自己的管理强项,但是对于分析上可能就不是那么强大了 这个就需要我们进行git 代码文件级别的分析了,可选的工具很多gitstats 就是一个不错的选择,但是大部分是基于 单仓库管理的,gitbase 则不同,给予我们提供了大批量的分析能力 环境准备 gitbase 安装 参考官方文档,直接二进制文件就可以了 cube.js 这个我们可以通过全局安…
cube.js 官方为我们也提供了backeng 部署的模型,为了测试方便以下是一个使用docker-compose 运行的demo 项目是一个集成gitbase 的demo,实际可以按照自己的项目修改,同时集成了redis cache,gitbase-web 环境准备 项目结构 ├── README.md ├── cube │ ├── Dockerfile │ ├── index.js │ ├── package.json │ └── schema │ ├── Blobs.js │ ├── C…
尽管cube.js 包含了一个doc 站点,但是资料不是很全,同时如果查看了cube github 代码中的一些demo的话,发现还是很不错的 但是一些实践没有在文档展现出来,还好我们可以从cube 的产品网站找点有意义的东西 参考网站 https://statsbot.co/docs 比如一些好的实践 动态union table 的 https://statsbot.co/docs/dynamically-union-tables 如何处理子查询的 https://statsbot.co/do…
cube.js 从设计上就进行了系统上的分层,backend,frontend,backend 是cube.js 的核心 对于cube.js backend 的部署官方也提供了好多中方法 部署模型 serverless 目前主要是aws的应用场景 heroku 基于heroku 提供的pg 以及应用部署能力 docker 部署,单机.同时基于环境变量的配置 docker-compose 全家桶的方式,集成pg.redis,以及nodejs 运行时环境 kubernetes 的集成,实际上这个就很…
  cube.js 也支持join, 参考格式 joins: { TargetCubeName: { relationship: `belongsTo` || `hasMany` || `hasOne`, sql: `SQL ON clause` } } 一个简单demo cube("Authors", { joins: { Books: { relationship: `hasMany`, sql: `${Authors}.id = ${Books}.author_id` } } }…
cube.js的 data schema 类似graphql 的type 定义,但是cube.js 的data schema 更偏向于dsl, 其中抽象了进行数据分析应用开发中的东西,自己提炼了measures , dimensions,cube 说明 cube 这个是用来进行实体,或者说是数据库表管理的 measures 说简单点就是聚合类的操作,但是这个是由cube.js 自动帮我们生成代码的,我们只需要定义 dimensions 实际上就是我们关注的详细数据列信息(一般体现为数据库表的定义…
第一步:Maven项目的创建 File->new->Maven project. 点击下一步 上方的两个多选框选上,第一个是不使用archetype 原型模板,第二个是使用默认工作空间 点击next Group ID : 公司名.公司网址倒写 Artifact ID : 项目名 Version : 版本   0.0.1-SNAPSHOT快照版,也可以写成1.0之类的版本号,作用不是很大,只有在以后搭建私服时候有作用 Packaging: 项目的打包方式,也就是指定项目最终会打成什么包,有jar…
  cube.js 对于measure以及dimension 提供了丰富的数据类型,基本满足我们常见应用的开发,同时对于不同类型也提供了 格式化的操作 measure类型 number 格式 purchasesRatio: { sql: `${purchases} / ${count} * 100.0`, type: `number`, format: `percent` } count 格式 numerOfUsers: { type: `count`, // optional drillMem…