Superset二次开发
文章平均质量分 76
基于Superset3.0最新版 二次开发从0到1项目实战
aimmon
这个作者很懒,什么都没留下…
展开
-
Superset二次开发之调研篇 Superset BI vs Datart BI
一、报告结论评分标准:支持较好3分,支持简单功能2分,支持较差1分,不支持0分支持更多65Datart 额外支持:AccessSuperset 额外支持:CockroachDB,SQLite,YugabyteDB、SQL ServerDatart 额外支持:PhoenixSuperset 额外支持:Amazon Redshift,Exasol,Firebolt,Hologres,Rockset,Snowflake, StarRocks,Trino,Ascend.io11功能。原创 2024-10-29 10:08:34 · 1028 阅读 · 0 评论 -
Superset二次开发之Git篇git fetch 异常信息汇总
异常信息:解决方案:候选方案:git config --global http.postBuffer 524288000git remote set-url upstream。原创 2024-09-26 23:40:54 · 515 阅读 · 0 评论 -
Superset二次开发之优化Mixed Chart 混合图(柱状图+折线)
基于Mixed Chart(柱状图+折线)作图,显示 某维度A Top10 + '其他' 数据,接口返回了值为 undefined 的某维度A 数据,前端渲染成 某维度A 值为。原创 2024-09-20 18:25:57 · 388 阅读 · 0 评论 -
Superset二次开发之服务器环境准备
软连接配置是否正确:软连接已经可以指向正确的 Python 版本时,不一定需要配置PATH。安装路径是否自动在PATH中:如果安装路径不在PATH中,手动添加可以确保 Python 和pip等工具正常运行。是否需要自定义PYTHONPATH:如果需要使用自定义的 Python 模块路径,可以设置PYTHONPATH。原创 2024-09-14 15:39:04 · 905 阅读 · 0 评论 -
Superset二次开发之源码DependencyList.tsx 分析
string[];这个DependencyList组件是实现"Values are dependent on other filters"逻辑的重要部分。它提供了一个用户界面,允许配置和管理过滤器之间的依赖关系。通过这个组件,用户可以直观地看到和修改过滤器的依赖结构,从而实现动态且相互关联的过滤系统。原创 2024-09-14 14:37:12 · 811 阅读 · 0 评论 -
Superset二次开发之源码asyncEvent.ts 分析
`AsyncEvent`: 定义了异步事件的结构,包括 `id`、`channel_id`、`job_id`、`status`、`errors` 和 `result_url`。- `JOB_STATUS`: 定义了异步任务的状态(如 `PENDING`、`RUNNING`、`ERROR`、`DONE`)。- `processEvents`: 处理接收到的异步事件,调用相应的监听器,并在监听器未注册时进行重试。- `LOCALSTORAGE_KEY`: 用于存储最后接收到的事件 ID 的本地存储键。原创 2024-09-14 14:24:59 · 527 阅读 · 0 评论 -
Superset二次开发之源码 run-server.sh 分析
这段命令通过 Gunicorn 启动一个 Flask 应用,配置了多种参数以优化性能和日志记录。通过使用环境变量,用户可以灵活地调整服务器的行为,适应不同的部署需求。整体上,这段命令为 Superset 提供了一个可扩展和高效的运行环境。原创 2024-09-13 19:42:58 · 986 阅读 · 0 评论 -
Superset二次开发之优化表格图表排序功能
如果表格数据含有中文和汉字(eg.第1梯队),点击排序图标进行排序时,会发生排序混乱(第10梯队排在了第1梯队下面)原创 2024-09-11 16:40:16 · 736 阅读 · 0 评论 -
Superset二次开发之修改Docker容器env 参数
基于Superset3.0版本在Linux服务器部署Docker版本的Superset项目,配置了Redis地址为A,项目运行许久,查询性能一直很缓慢,今日打算解决,忽发现,防火墙一直开启着。然,Redis对应的地址变成了B。Superset服务异常Connection refused。docker inspect 容器ID。docker restart 容器ID。docker stop 容器ID。原创 2024-09-10 19:30:55 · 370 阅读 · 0 评论 -
Superset二次开发之新增复选框Checkbox筛选器
Superset目前支持的筛选类型:值、数值范围、时间列、时间粒度、时间范围 5种类型,显然无法满足业务需求。根据产品需要,需要支持复选框、单选框、级联选择等类型的筛选器。目录 superset-frontend\src\filters\components,新增CheckBox 文件夹。' 筛选器模块,然后看板筛选器渲染时,修改为Checkbox 组件。定义了 CheckboxPlugin 类,这是插件的入口点。转换从 Superset 传入的属性,以适应插件的需求。定义了插件使用的各种类型和接口。原创 2024-09-08 00:20:46 · 767 阅读 · 0 评论 -
Superset二次开发之Select 筛选器源码分析
这种结构允许关注点分离,使得代码更易于维护和扩展。每个文件都有其特定的职责,共同工作以提供完整的过滤器功能。路径:superset-frontend/src/filters/components/Select。转换从 Superset 后端接收的属性为组件可用的格式。设置数据掩码 (setDataMask)渲染 Select 下拉框。原创 2024-09-07 20:49:37 · 368 阅读 · 0 评论 -
Superset二次开发之柱状图实现同时显示百分比、原始值、汇总值的功能
柱状图贡献模式选择行,堆积样式选择Stack,默认展示百分比,可以展示每个堆积的百分比,但是无法实现同时展示百分比、原始值、汇总值的效果。借助Tooltip可以实现,但是不直观。Tooltip 悬浮框功能展示时,过滤掉name = 'displayDetailsDataAndTotal' 的对象(params是每个堆积数据的对象)柱状图来自Echarts插件,可以先考虑Echarts的柱状图如何实现此需求,再研究Superset项目的柱状图该如何实现。计算并显示汇总值,过滤Tooltip的脏数据,原创 2024-08-01 18:51:02 · 874 阅读 · 0 评论 -
Echarts 柱状图实现同时显示百分比+原始值+汇总值
核心逻辑同时显示百分比和原始值显示汇总值'Total'series'total'itemStylelabelshow: trueposition'top'formattertotalDatadata。原创 2024-07-29 14:40:31 · 1486 阅读 · 0 评论 -
Superset 二次开发之PostgreSQL 数据库DDL使用
表名和模式:表名为,存放在模式中。列定义::整数类型,非空,默认值为序列的下一个值。:整数类型。:整数类型。主键约束::主键约束,作用于列,确保每行的是唯一的。外键约束::外键约束,引用表的列。约束条件为::当引用的表中的更新时,不采取任何动作。:当引用的表中的删除时,自动删除表中对应的行。:外键约束,引用表的列。约束条件为::当引用的表中的更新时,不采取任何动作。:当引用的表中的删除时,自动删除表中对应的行。表空间:表示表存储在默认表空间中。修改表所有者:将表的所有者更改为用户。用于定义数据库表中的约束条原创 2024-06-26 20:44:30 · 778 阅读 · 0 评论 -
Superset二次开发之导入导出功能源码解读
支持 看板(Dashboard)、图表(Charts)、数据集(Datasets)、SQL(saved_query)、数据库(Database connection) 单次或批量的导出,和单次导入操作_id。原创 2024-06-26 20:38:40 · 1198 阅读 · 0 评论 -
Superset二次开发之重置密码
Superset 使用 Flask-AppBuilder 作为后台框架,可以通过其命令行工具重置密码。原创 2024-06-16 23:59:11 · 476 阅读 · 0 评论 -
Superset二次开发之调研篇 v3.0 VS v4.0
这不仅解决了许多安全问题,减少了漏洞,还显著增强了系统的稳定性和安全性。同时,废弃了旧的可视化图表和许多不再使用的功能,也引入了众多新的用户体验和改进之处。关注版本变化,有助于改进我们的二次开发策略和版本升级方案。3.1:90个漏洞(42个中度,34个高度,14个严重)4.0:25个漏洞(16个中度,8个高度,1个严重)重新设计了警报和报告模态框,提高了用户体验;删除了过滤框组件,推荐使用仪表板本地过滤器。进一步清理代码库,移除了大量未使用的代码;进一步移除了旧版图表,完成了迁移;提供了更直观的拖放体验,原创 2024-06-14 19:59:38 · 1214 阅读 · 0 评论 -
Superset二次开发之查询GitHub不同版本修改的文件列表 (Python 方案)
代码示例的功能涵盖了从GitHub获取指定版本范围内文件变化的HTML内容,解析出差异统计信息和文件列表,并与本地保存的数据进行对比以找出匹配和未匹配的文件。这是一个接近最终发布版本的版本,通常用来进行最后的测试,以确保没有严重的问题。对于Superset版本之间的升级,如何了解新版本更新了哪些文件,是个需要重视的问题,对于版本升级过程中的准备工作、代码迁移很有帮助。版本中的所有更改,并且经过了更多的测试和修正。后面的数字表示这是第几个发布候选版本。:这是常见的版本号格式,例如。版本的第三个发布候选版本。原创 2024-06-14 19:54:49 · 871 阅读 · 0 评论 -
Superset二次开发之基于GitLab OpenAPI 查询项目的提交记录中修改的文件
如何在Superset项目众多的文件中,记录修改过的文件,迁移代码时只需重点关注这些文件修改的内容即可,如何快速梳理出这些二开工作中修改的文件,是我们本次版本升级流程中需要优化的工作内容之一。但是针对项目中多次的commit 信息,每个commit 又涉及不同的文件,Superset二次开发,在处理版本升级的过程中,需要手动迁移代码,以下代码基于GitLab OpenAPI的方式获取修改的文件列表数据。设置-访问令牌-输入名称、有限期、全选权限范围即可。原创 2024-06-14 19:35:27 · 708 阅读 · 0 评论 -
Superset 二次开发之Git篇 git cherry-pick
命令是 Git 中的一种功能,用于将特定的提交(commit)从一个分支应用到另一个分支。它允许你选择性地应用某些提交,而不是合并整个分支。Cherry-Pick 非常适合在需要将特定更改移植到其他分支时使用,例如从开发分支移植某个特定功能或修复到主分支。原创 2024-06-14 19:26:08 · 469 阅读 · 0 评论 -
Superset二次开发之Git篇 git remote
背景:从GitHub clone Superset项目,基于3.0版本做二次开发,后续通过其他方式把3.0版本未做任何修改过的原始代码上传到企业GitLab库develop分支任务:本地代码推送到GitLab库develop分支,但是两者似乎没有任何关联关系。原创 2024-06-14 19:21:05 · 519 阅读 · 0 评论 -
Superset二次开发之PG数据库备份策略
背景:基于Superset项目3.0版本二次开发,线上运行之后,需要处理和维护后续的PG数据的备份,迁移,回滚,校验等环节。--dbname=数据库名 输出的SQL文件名.sql。--username= 用户名 --password。--username=用户名 --password。--port=端口 --format=custom。--port=端口 --format=custom。--host=数据库地址。--host=数据库地址。--host=数据库地址。原创 2024-06-01 12:12:11 · 624 阅读 · 0 评论 -
Superset二次开发之Github项目推送到GitLab仓库
以下是从GitHub克隆Superset项目并将其推送到GitLab的详细操作步骤。原创 2024-05-31 21:04:14 · 1233 阅读 · 0 评论 -
Superset二次开发之柱状图自定义初始化时Data Zoom数据缩放值
export const DEFAULT_FORM_DATA: EchartsTimeseriesFormData = 新增 xAxisBoundsZoom。新增函数createDataZoomControl && DEFAULT_FORM_DATA 新增xAxisBoundsZoom。修改 controlPanelSections。设置Datazoom 的start 和end。新增 xAxisBoundsZoom。Superset项目柱状图来自。数据缩放初始化默认值的效果。Superset 实现过程。原创 2024-05-24 20:00:00 · 591 阅读 · 0 评论 -
Superset二次开发之XAxis 功能优化
加入‘xAxisLabelEllipsis,’插件)为例,如果X轴data数据过长,影响图表体验,为此需要省略部分内容。2.修改xAxis 的逻辑。原创 2024-05-06 18:22:04 · 629 阅读 · 0 评论 -
Superset二次开发之Legend功能优化
加入"legendTextHiding,"Legend数据太长,影响整体图表体验,为改善用户体验,需要实现:1.数据省略展示,‘...’表示,鼠标悬停时,展示完整信息 2:文本内容从左向右滚动展示。做成组件的配置,如果为空、0、超过了文本最大长度等,显示完整文本,否则开启文本省略模式。1. getLegendProps函数添加legendTextHiding 参数元素。2.getLegendProps函数添加legendTextHiding 参数元素。2. formatter逻辑优化。原创 2024-05-05 17:12:37 · 707 阅读 · 0 评论 -
Superset 二次开发之工具篇 Pycharm 搭建
路径是conda虚拟环境下Scripts目录下的superset-script.py 文件 (Scripts\superset-script.py)Virtualenv Environment 选择Exist ,然后指向 conda 创建的虚拟环境下的python.exe。环境:win10、conda、superset 3.0、node 18、npm 9.8。conda executable 指向 conda 安装目录下的conda.exe。解释器 路径是 conda 虚拟环境 下的python.exe。原创 2024-04-16 00:50:39 · 893 阅读 · 0 评论 -
Superset二次开发之Superset 3.1 介绍
注意事项:当将仪表板从一个Superset实例迁移到另一个时(使用导入/导出功能或Superset CLI),或恢复以前图表和仪表板的备份时,Superset将应用在版本升级期间使用的现有迁移。,以确保该功能是可扩展的,坚持我们的安全模型,并提供一致的设计。已得到改进,还可以显示数据库和模式名称,这将有助于用户定位正确的数据集,特别是当有多个表/数据集具有相同的名称时,可以从消歧中受益。此命令的主要优点是,您可以迁移您的可视化,而无需等待主要版本,我们通常会删除遗留插件。,允许用户迁移特定类型的图表。原创 2024-04-09 23:21:10 · 1157 阅读 · 0 评论 -
Superset二次开发之图表标题动态化
需求:图表标题动态展示原生筛选器的值。原创 2024-04-09 22:20:37 · 854 阅读 · 0 评论 -
Superset二次开发之Superset 4.0 介绍
and4.0.0为Superset带来了许多令人兴奋的变化。我们已经引入了几个突破性的变化,以改善我们代码库的整体架构和可扩展性。这些更改可能需要一些代码更新,但它们旨在增强长期的性能和可维护性。我们还将各种依赖项升级到最新版本,并弃用了某些不再符合我们长期路线图的功能。我们鼓励所有开发人员仔细查看和文件,并相应地更新他们的代码。虽然我们主要关注的是代码清理,但此版本还包含令人兴奋的新功能,并标志着该项目的重要里程碑。以下是此次发布的一些亮点。原创 2024-04-09 01:05:28 · 1876 阅读 · 3 评论 -
Superset二次开发之环境搭建Clickhouse(Linux版)
执行以下命令,设置ClickHouse的官方仓库。原创 2024-03-30 10:45:36 · 851 阅读 · 0 评论 -
Superset二次开发之完整版专题系列(持续更新ing)
2. Superset架构理解。原创 2024-03-29 14:00:45 · 1074 阅读 · 0 评论 -
Superset二次开发之 配置Redis(docker版本)
目录结构├── config├── data└── run.sh。原创 2024-03-29 09:49:40 · 536 阅读 · 0 评论 -
Superset二次开发之package.json 功能模块解读
文件,项目开发者可以方便地管理和维护项目依赖、执行自动化构建任务以及遵循统一的编码规范,确保项目开发流程的顺畅和一致性。同时,文件中包含了丰富的工具链配置,以支持大型前端项目的复杂构建需求,如多包管理、热加载、测试覆盖率分析、国际化翻译校验、持续集成等。通过这些脚本,开发者可以轻松地进行日常开发、测试、构建和发布等操作,提高了开发效率和团队协作水平。用于定义和组织项目中常用命令的地方,这些命令可以是简单的 shell 命令或复杂的跨多个工具的脚本组合。对于 Superset 项目,原创 2024-03-28 10:30:58 · 1314 阅读 · 0 评论 -
Superset二次开发之webpack.config.js 功能模块解读
一个专为 React 应用设计的开源库,旨在改进开发环境下的用户体验,通过实现组件级别的热重载(Hot Reloading)技术,使得开发者在编辑和保存代码时,浏览器能够自动同步更新界面,而无需刷新整个页面或重新加载组件,从而保持应用状态的连续性和开发过程的流畅性。: 这里针对 TypeScript 文件进行了特殊的编译器选项覆盖,确保 Babel 编译时使用的是项目期望的 TypeScript 编译配置,例如支持 ES Modules、ESNext 目标等。类型的文件配置一个特定的加载器链,其中包括。原创 2024-03-28 10:08:18 · 1309 阅读 · 0 评论 -
Superset二次开发之 配置Docker
在设置仓库之前,需先安裝所需的软件包。yum-utils提供了yum-config-manager,并且device mapper存储驱动程序需要device-mapper-persistent-data和lvm2。原创 2024-03-23 21:08:24 · 1010 阅读 · 0 评论 -
Superset二次开发之PostgreSQL 统计信息介绍
这些统计信息可以帮助数据库管理员理解表的使用模式,例如哪些表最频繁地被更新或扫描,以及可能需要优化的地方。它们也是数据库维护活动(如 VACUUM 和 ANALYZE)计划的重要依据。视图提供了关于 PostgreSQL 数据库中用户定义表的统计信息。这些统计信息涵盖了从表的扫描操作到修改次数等多个方面。原创 2024-03-21 21:27:48 · 429 阅读 · 0 评论 -
Superset二次开发之PostgreSQL 存储库介绍
Apache Superset 使用 PostgreSQL 作为其默认的元数据数据库,来存储关于数据源、图表、仪表盘、用户及其权限等信息。原创 2024-03-21 22:10:01 · 764 阅读 · 0 评论 -
Superset二次开发之Superset架构理解
提供了丰富的界面组件和管理功能,快速的 CRUD 视图生成,简洁的菜单和导航管理,多语言支持,表单和视图的灵活定制。应用中使用的数据库模型, 包括用户、仪表板、图表等的数据结构。后台任务和定时任务的代码,例如异步查询执行、定期报告生成等。快速构建 Flask 应用的基本框架,登录验证,权限控制;与缓存键的生成和管理相关的代码,用于优化数据加载速度和性能。Superset 的示例数据和图表,用于演示和测试。存放静态文件,如图片、JS 库和 CSS 文件等。修改权限入口,包括用户认证、权限控制等。原创 2024-03-07 13:14:15 · 1608 阅读 · 0 评论 -
Superset二次开发之Superset Organizations
Superset Organizations 指的是使用Apache Superset 进行数据可视化和商业智能需求的组织、公司。此列表有助于了解Superset在不同行业中采用的多样性和规模。它展示了真实世界的应用程序,深入了解各种实体如何利用 Superset 进行数据分析、报告和可视化功能。原创 2024-03-11 08:53:15 · 1030 阅读 · 0 评论