首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Apache Superset API馈送数据集

使用Apache Superset API馈送数据集
EN

Stack Overflow用户
提问于 2021-02-03 02:43:32
回答 1查看 1.5K关注 0票数 1

我想了解是否可以使用超集API来填充超集数据集。我浏览了documentation,我感觉我们不能像上传CSV文件那样做。我知道另一种可能是直接在数据库中写入,但我发现API更安全,也更易于使用和维护。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-10 02:52:44

Superset 1.0有一个新的导入/导出API,允许您这样做,这是我们加载一些新示例仪表板的方式。您需要做的第一件事是通过打开superset_config.py中的VERSIONED_EXPORT功能标志来启用该功能

代码语言:javascript
复制
FEATURE_FLAGS: Dict[str, Any] = {
    "VERSIONED_EXPORT": True,
}

让我们假设您想要创建一个包含基础表和数据的新数据集。首先,使用以下两个文件创建ZIP文件:

代码语言:javascript
复制
# your_dataset.zip
./metadata.yaml
./datasets/examples/your_dataset.yaml

metadata.yaml文件应如下所示:

代码语言:javascript
复制
version: 1.0.0
type: SqlaTable
timestamp: '2020-12-23T23:16:56.155576+00:00'

(timestamp可以是任何东西)

文件your_dataset.yaml可以具有任何名称,并且应该描述您的列以及要在数据集中定义的任何其他指标:

代码语言:javascript
复制
table_name: your_dataset
main_dttm_col: null
description: null
default_endpoint: null
offset: 0
cache_timeout: null
schema: tap_slack
sql: null
params: null
template_params: null
filter_select_enabled: false
fetch_values_predicate: null
extra: null
uuid: 3e8130eb-0831-d568-b531-c3ce6d68d3d8  # can by any UUID
metrics:
- metric_name: count
  verbose_name: COUNT(*)
  metric_type: count
  expression: COUNT(*)
  description: null
  d3format: null
  extra: null
  warning_text: null
columns:
- column_name: user_id
  verbose_name: null
  is_dttm: false
  is_active: true
  type: VARCHAR
  groupby: true
  filterable: true
  expression: null
  description: null
  python_date_format: null
version: 1.0.0
database_uuid: 566ca280-3da8-967e-4aa4-4b349218736a  # MUST be your database UUID
data: https://example.com/your_dataset.csv

现在将文件POST到新的endoint:

代码语言:javascript
复制
$ curl -X POST -F 'formData=@/path/to/your_dataset.zip' https://superset.example.com/api/v1/dataset/import/

这将在数据库uuid566ca280-3da8-967e-4aa4-4b349218736a下创建数据集,创建表并填充来自https://example.com/your_dataset.csv的数据。

如果要覆盖现有表或现有dataset上的数据,可以执行类似的过程,但也应该传递-F 'overwrite=true',在这种情况下,现有表将被删除,并由CSV中的数据替换(这样它就可以有一个新的架构)。

目前还不能通过导入/导出API将数据追加到现有表中。您可以使用CSV文件API将数据追加到现有的表中,不过,它具有该选项。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66015739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档