Apache Superset 数据源导入导出完全指南

Apache Superset 数据源导入导出完全指南

superset Apache Superset is a Data Visualization and Data Exploration Platform superset 项目地址: https://gitcode.com/gh_mirrors/supers/superset

概述

Apache Superset 作为一款强大的数据可视化工具,其数据源管理功能尤为重要。本文将全面介绍 Superset 中数据源的导入导出操作,帮助用户高效管理数据库、表、列和指标等元数据。

数据源结构解析

Superset 中的数据源采用层级结构组织,理解这一结构对后续操作至关重要:

├── 数据库(databases)
│   ├── 数据库1(database_1)
│   │   ├── 表1(table_1)
│   │   │   ├── 列(columns)
│   │   │   │   ├── 列1(column_1)
│   │   │   │   ├── 列2(column_2)
│   │   │   │   └── ... (更多列)
│   │   │   └── 指标(metrics)
│   │   │       ├── 指标1(metric_1)
│   │   │       ├── 指标2(metric_2)
│   │   │       └── ... (更多指标)
│   │   └── ... (更多表)
│   └── ... (更多数据库)

数据源导出详解

命令行导出方式

  1. 基础导出命令:将当前数据源输出到标准输出

    superset export_datasources
    
  2. 导出到文件:将数据源保存为ZIP文件

    superset export_datasources -f <文件名>
    
  3. 高级选项

    • -d 参数:包含空值字段
    • -b 参数:包含反向引用(如表与列的关联关系)

可视化界面导出

  1. 导航至"Sources" → "Databases"(导出整个数据库)或"Tables"(导出特定表)
  2. 选择需要导出的项目
  3. 点击"Actions" → "Export to YAML"

重要提示:通过UI导出的项目需要保持原有层级关系才能正确导入,例如表必须嵌套在数据库元素内。

导出完整字段参考

获取可用于YAML导入的所有字段列表:

superset export_datasource_schema

数据源导入详解

标准导入方式

从ZIP文件导入数据源:

superset import_datasources -p <文件路径>

用户指定:使用-u参数设置导入操作的用户,默认为'admin'

superset import_datasources -p <文件路径> -u 'admin'

同步模式

-s参数支持同步操作,会删除元数据库中未在导入文件中指定的内容:

superset import_datasources -p <文件路径> -s columns,metrics

警告:同步模式会删除未指定的元素,使用需谨慎!

增量更新示例

不指定-s参数时,导入仅会添加和更新字段。例如更新列描述:

databases:
- database_name: main
  tables:
  - table_name: random_time_series
    columns:
    - column_name: ds
      verbose_name: datetime

旧版本兼容处理

从旧版(2.x/3.x)导入到新版(4.x+)

使用特殊命令处理旧版JSON格式:

superset legacy_import_datasources -p <路径或文件名>

可选参数:

  • -r:递归处理目录
  • -u:指定操作用户

旧版间的导入导出

在2.x/3.x版本中,行为由VERSIONED_EXPORT标志控制:

  • True:期望ZIP文件
  • False:期望YAML文件

递归处理YAML文件示例:

superset import_datasources -p <路径> -r

最佳实践建议

  1. 备份优先:执行导入操作前务必备份现有元数据
  2. 测试验证:先在测试环境验证导入效果
  3. 版本匹配:注意不同版本间的格式差异
  4. 权限管理:合理设置操作用户权限
  5. 文档记录:保留导入导出的配置说明

通过掌握这些数据源管理技巧,您可以更高效地在不同环境间迁移Superset配置,实现元数据的版本控制和团队协作。

superset Apache Superset is a Data Visualization and Data Exploration Platform superset 项目地址: https://gitcode.com/gh_mirrors/supers/superset

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

### 如何在 Apache Superset 中创建数据集 要在 Apache Superset 中创建数据集,可以按照以下方法操作: #### 1. 连接数据库 首先需要确保已经成功配置并连接了一个数据库到 Superset。可以通过导航栏中的 **Sources > Databases** 来管理已有的数据库连接[^2]。如果尚未添加数据库,则点击页面右上角的 **+ Database** 按钮来新增一个数据库连接。 对于 MySQL 数据库的具体连接方式,可以在命令行中通过 `pip` 命令安装必要的依赖包,并初始化 Superset 的数据库环境: ```bash pip install mysqlclient -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn ``` 接着运行以下命令完成数据库升级和初始化: ```bash export FLASK_APP=superset superset db upgrade ``` #### 2. 创建新表作为数据源 进入 Superset 后台管理系统,在左侧菜单中选择 **Sources > Tables** 或者直接点击顶部工具栏上的 **+ Dataset** 图标。这会弹出一个新的窗口用于定义新的表格型数据集。 在此界面中需指定以下几个参数: - **Database**: 已经建立好的目标数据库实例。 - **Schema**: 所属模式名(schema),通常默认即可满足需求。 - **Table Name / SQL**: 输入具体的目标表名称或者自定义查询语句以构建虚拟视图形式的数据集[^1]。 当所有必填项都填写完毕之后保存该记录即完成了新建动作。 #### 3. 验证与编辑字段属性 一旦某个特定关系型实体被注册成为正式可用资源后,就可以进一步调整其元信息描述等内容了。比如修改列标题显示样式、设定过滤条件表达式等等个性化选项均支持在线动态维护而无需重新提交整个对象结构体本身。 此外值得注意的是,“can explore on Superset”这一权限允许用户导出图表;“can explore json on Superset”则赋予他们获取JSON格式原始数据的能力;至于“All database access”,它代表全面掌控范围内任意单一或全部关联存储引擎内部资料的权利——当然实际应用当中往往更倾向于精细化分配最小化授权原则下的角色划分方案[^1]。 ```python import pandas as pd from sqlalchemy import create_engine engine = create_engine('mysql+pymysql://username:password@host:port/dbname') df = pd.read_sql_query("SELECT * FROM your_table", engine) print(df.head()) ``` 以上代码片段展示了如何利用 Python 结合 SQLAlchemy 库读取来自远程 MySQL 数据库的信息以便后续导入至本地分析环境中处理展示之用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幸生朋Margot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值