# cboard-extend **Repository Path**: binaryniz/cboard-extend ## Basic Information - **Project Name**: cboard-extend - **Description**: 对cboard进行扩展,增加Redis数据源,暂时仅支持hash形式的数据 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-04 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 介绍 CBoard由[上海楚果信息技术有限公司](http://www.chuguotech.com/)主导开源, 它不仅仅是一款**自助BI数据分析**产品, 还是开放的**BI产品开发**平台: - **用户**只需简单妥妥拽拽就能自助完成数据多维分析与报表设计 - **开发者**能够简单扩展连接所有你的Java程序能够触及的数据
## CBoard社区版用户 希望你们logo出现在此, [请点击登记@Github](https://github.com/TuiQiao/CBoard/issues/122), 或者[请点击登记@Gitee](https://gitee.com/tuiqiao/CBoard/issues/IMLIJ)提供一张无底色logo图片
## 架构图 轻量级的技术架构, 与国内开发者耳熟能详的技术栈, **自研多维分析引擎**, 完成您在数据分析最后一棒的重要接力. 清晰的性能优化线路, 小应用撬动大数据!
## 产品特性 * 简洁美观的界面, 简单友好的交互模式 * 交互式自服务拖拽多维分析用户体验, 数据切块, 切片, 排序无所不能 * 一个数据集根据您的拖拽衍生无数不同粒度数据聚合 + 20余种不同展现形式的图表 * 图表数据准实时刷新 * 图表级别权限控制 * 支持多图表数据看板与看板定时邮件发送 * 多种数据源接入 * JDBC(几乎所有实现了JDBC协议的数据库或数据产品都能轻松接入) * 多版本原生Elasticsearch: 1.x, 2.x, 5.x * 多版本原生Kylin接入: 1.6, 2.0, 2.1 * 离线文本文件, JSON文本 * 轻量级的技术架构, 简洁的业务代码, 不依赖任何第三方多维分析引擎, 如果您还在纠结很难玩转Mondrian, 那么CBoard绝对是您很好的一个替代方案 * 数据源轻松扩展接入, 大数据时代纷繁的数据产品层出不穷, 任何昂贵的商业产品也做不到出厂遍支持所有类型数据源的连接, 但是如果你能用Java程序获取您的数据, 那么恭喜你有80%的概率能够把数据源接到CBoard了 ?> 更多企业级的功能与特性请访问我们官网: [上海楚果信息技术有限公司](http://www.chuguotech.com/) :books: 更多文档 - [:cn: 帮助文档](http://peter_zhang921.gitee.io/cboard_docsify/#/zh-cn/) - [:uk: Document](https://tuiqiao.github.io/CBoardDoc/#/en-us/) ### -------------分割线--------------------- 以上是原项目的readme 以下是我的 由于工作需要,这里对数据源进行自定义扩展,官方文档已经说明:`用户可以在不用更改前端界面的前提下继承DataProvider接口,返回普通二维数组即可,交互所需参数前端自动生成相应交互界面。` 我在这里参照jdbc和elasticsearch进行Redis的数据扩展,目前只扩展到 Redis 的hash类型。 创建一个 :RedisDataProvider,然后继承`DataProvider`,实现 `Aggregatable`. ``` // 这里是数据源所需参数,直接对应前端页面中配置数据源的参数选项 @DatasourceParameter(label = "{{'DATAPROVIDER.REDIS.HOST'|translate}} *", type = DatasourceParameter.Type.Input, required = true, order = 1) private String HOST = "host"; ``` ``` // 创建数据源时候,测试连接用 @Override public void test() throws Exception { } ``` ``` // 创建数据集时候,读取数据(维度数据) @Override public String[] getColumn() throws Exception { } ``` ``` // 待研究 @Override public String[][] getData(){ } ``` ``` // 创建图表时,预览选项 @Override public AggregateResult queryAggData(AggConfig config) throws Exception { } ```