Superset二次开发之导入导出功能源码解读

可导出的类型

支持 看板(Dashboard)、图表(Charts)、数据集(Datasets)、SQL(saved_query)、数据库(Database connection) 单次或批量的导出,和单次导入操作

 看板(Dashboard)

 图表(Charts)

 数据集(Datasets)

 SQL (saved_query)

 数据库(database connections)

 导出内容

导出接口

dashboardGETapi/v1/dashboard/export/?q=!(dashboard_id)&token=GMsud-wrK
chartsGETapi/v1/chart/export/?q=!(slice_id)&token=N0PFreRTn
datasetsGETapi/v1/dataset/export/?q=!(datasource_id)&token=s1GBGju-l
saved_queriesGETapi/v1/saved_query/export/?q=!(sql_id)&token=2DDFzvjzF
databasesGETapi/v1/database/export/?q=!(database_id)&token=F45_CB_DB

导入接口

dashboardPOSTapi/v1/dashboard/import
chartsPOSTapi/v1/chart/import
datasetsPOSTapi/v1/dataset/import
saved_queriesPOSTapi/v1/saved_query/import
databasesPOST/api/v1/database/import/

 源码解读部分

  • Dashboards 导入核心逻辑

superset/dashboards/api.py

    command = ImportDashboardsCommand()

         superset/dashboards/commands/importers/dispatcher.py

             command_versions = [
                   v1.ImportDashboardsCommand,
                   v0.ImportDashboardsCommand,
              ]

                      superset/dashboards/commands/importers/v1/__init__.py

@staticmethoddef _import(session: Session, configs: dict[str, Any], overwrite: bool = False) -> None:# discover charts and datasets associated with dashboards'''1. 发现与仪表板关联的图表和数据集初始化集合chart_uuids和dataset_uuids,用于存储与仪表板相关联的图表和数据集的UUID。遍历配置项,对于每个以"dashboards/"开头的文件名,通过find_chart_uuids函数从仪表板的位置信息中提取图表UUID,并通过find_native_filter_datasets函数从元数据中提取数据集UUID。'''chart_uuids: set[str] = set()dataset_uuids: set[str] = set()for file_name, config in configs.items():if file_name.startswith("dashboards/"):chart_uuids.update(find_chart_uuids(config["position"]))dataset_uuids.update(find_native_filter_datasets(config.get("metadata", {})))# discover datasets associated with charts'''2. 发现图表关联的数据集继续遍历配置项,对于每个以"charts/"开头且UUID在chart_uuids集合中的配置项,提取其数据集UUID,并添加到dataset_uuids集合中。'''for file_name, config in configs.items():if file_name.startswith("charts/") and config["uuid"] in chart_uuids:dataset_uuids.add(config["dataset_uuid"])# discover databases associated with datasets'''3. 发现数据集关联的数据库再次遍历配置项,对于每个以"datasets/"开头且UUID在dataset_uuids集合中的配置项,提取其数据库UUID,并添加到集合database_uuids。'''dat

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/364484.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sentinel解决雪崩问题

我们或多或少都对雪崩问题有点了解,在微服务系统中,各个微服务互相调用,关系错综复杂,如果其中一个微服务挂了或者处理消息的速度大幅下降,需要被处理的消息越积越多,那么影响的不仅仅是本微服务的功能&…

Echarts地图实现:山东省报考人数

Echarts地图实现:山东省报考人数 效果预览 设计思路 数据可视化:选择地图作为数据展示的方式,可以直观地展示山东省不同城市的报考人数分布。交互性:通过ECharts的交互功能,如提示框(tooltip)…

Unity之HTC VIVE Cosmos环境安装(适合新手小白)(一)

提示:能力有限,错误之处,还望指出,不胜感激! 文章目录 前言一、unity版本电脑配置相关关于unity版本下载建议:0.先下载unity Hub1.不要用过于旧的版本2.不要下载最新版本或者其他非长期支持版本 二、官网下…

大模型微调实战之基于星火大模型的群聊对话分角色要素提取挑战赛:Task01:跑通Baseline

目录 0 背景1 环境配置1.1 下载包1.2 配置密钥1.3 测试模型 2 解决问题2.1 获取数据2.2 设计Prompt2.2 设计处理函数2.3 开始提取 附全流程代码 0 背景 Datawhale AI夏令营第二期开始啦,去年有幸参与过第一期,收获很多,这次也立马参与了第二…

论文工具使用---connected papers

如何使用connected papers 使用方法具体功能其他资源 官网地址:connected papers :一个旨在帮助科研工作者快速搜索文献的全新工具,可以清晰的查看文献的引文信息,了解文献的引用和被引用关联。 使用方法 输入论文标题后&#xf…

动态人物抠图换背景 MediaPipe

pip下载 MediaPipe pip install mediapipe -i 手部特征点模型包包含一个手掌检测模型和一个手部特征点检测模型。手掌检测模型在输入图片中定位手部,手部特征点检测模型可识别手掌检测模型定义的被剪裁手掌图片上的特定手部特征点。 由于运行手掌检测模型非常耗时&…

Matlab|【需求响应】空调负荷需求响应模型

1主要内容 程序主要复现《溫控负荷的需求响应潜力评估及其协同优化管理研究_谢敦见》2.5部分章节的内容,建立空调负荷的聚合模型,考虑调节空调温度对空调响应潜力的影响,程序结果充分说明随着上调温度增大,响应程度逐渐增大。 具…

【详细】CNN中的卷积计算是什么-实例讲解

本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/ 目录 一、 CNN的基础卷积计算1.1.一个例子了解CNN的卷积计算是什么1.2.卷积层的生物意义 二、卷积的拓展:多输入通道与多输出通道2.1.多输入通道卷积2.2.多输出通道卷积 三、卷积的实现3.1.pytorch实现卷积…

昇思25天学习打卡营第01天|基本介绍

昇思25天学习打卡营第01天|基本介绍 MindSpore API层次 昇思MindSpore为开发者提供了三个层次的API: Low-Level Python API: 提供了最基本的数据结构与运算操作,如张量、自动微分等。Medium-Level Python API:对底层API进行封装&#xff0…

CSS|03 尺寸样式属性文本与字体属性

尺寸样式属性 height:元素高度height的值:auto 自动length 使用px定义高度% 基于包含它的块级对象的百分比高度 width:元素的宽度width的值与height一样span标签可以设置宽度、高度吗? 答:不可以,因为span标签是一个行…

Springcloud-消息总线-Bus

1.消息总线在微服务中的应用 BUS- 消息总线-将消息变更发送给所有的服务节点。 在微服务架构的系统中,通常我们会使用消息代理来构建一个Topic,让所有 服务节点监听这个主题,当生产者向topic中发送变更时,这个主题产生的消息会被…

HBuilder X 小白日记02-布局和网页背景颜色

html&#xff1a; 例子1&#xff1a; 整个&#xff1a; css案例&#xff1a; 1.首先右键&#xff0c;创建css文件 2.在html文件的头部分&#xff0c;引用css&#xff0c;快捷方式&#xff1a;linkTab键 <link rel"stylesheet" href" "> 3.先在css…

3.3V到5V的负电源产生电路(电荷泵电压反相器)SGM3204输出电流0.2A封装SOT23-6

前言 SGM3204 非稳压 200mA 电荷泵负电源产生电路&#xff0c;LCEDA原理图请访问资源 SGM3204电荷泵负电源产生电路 SGM3204电荷泵负电源产生电路 一般描述 SGM3204从 1.4V 至 5.5V 的输入电压范围产生非稳压负输出电压。 该器件通常由 5V 或 3.3V 的预稳压电源轨供电。由于…

Camera Raw:增强

Camera Raw 中的增强 Enhance命令基于 AI 技术提升图像的质量&#xff0c;可用于降噪、生成清晰的细节以及提高图像的分辨率。 ◆ ◆ ◆ 主要用途 1、高 ISO 图像降噪 勾选“去杂色” Denoise&#xff0c;可轻松消除使用高 ISO 设置或在低光环境下拍摄的照片中的噪点。 可以对…

MySQL之如何处理超大分页

如何处理MySQL超发分页&#xff1f; 可以使用覆盖索引解决 【点击进入】 MySQL超大分页处理 在数据量较大时&#xff0c;如果使用limit分页查询&#xff0c;在查询时&#xff0c;越往后&#xff0c;分页查询效率会越低。 示例&#xff1a; select * from user limit 900000…

小白学webgl合集-WebGL中给图片添加背景

一.实现效果 二.逻辑 为了在WebGL中给图片添加背景&#xff0c;主要的逻辑步骤包括初始化WebGL上下文、编写和编译着色器、创建和绑定缓冲区、加载和配置纹理以及绘制场景。以下是代码逻辑的详细说明&#xff1a; 1. 获取WebGL上下文 首先&#xff0c;通过获取<canvas>…

汽车电子工程师入门系列——CAN 规范系列通读

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

互联网大厂核心知识总结PDF资料

我们要敢于追求卓越&#xff0c;也能承认自己平庸&#xff0c;不要低估3&#xff0c;5&#xff0c;10年沉淀的威力 hi 大家好&#xff0c;我是大师兄&#xff0c;大厂工作特点是需要多方面的知识和技能。这种学习和积累一般人需要一段的时间&#xff0c;不太可能一蹴而就&…

Java | Leetcode Java题解之第206题反转链表

题目&#xff1a; 题解&#xff1a; class Solution {public ListNode reverseList(ListNode head) {if (head null || head.next null) {return head;}ListNode newHead reverseList(head.next);head.next.next head;head.next null;return newHead;} }

【Qt】QMessageBox 各种对话框的默认显示效果

1. 函数原型 void about(QWidget *parent, const QString &title, const QString &text)void aboutQt(QWidget *parent, const QString &title QString())QMessageBox::StandardButton critical(QWidget *parent, const QString &title, const QString &…