如何将 Superset 连接到 Google Analytics 等外部 API?

问题描述 投票:0回答:5

我愿意通过他们的 API 将 Google Analytics 和 Google Search Console 数据直接显示到 Superset 中。

  1. 以 JSON 格式直接查询 Google Analytics API(而不是将结果存储到我的数据库中,然后将其显示到 Superset 中)并在 Superset 中显示结果
  2. 以 JSON 格式直接查询 Google Search Console API 并在 Superset 中显示结果
  3. 直接查询其他令人惊叹的 JSON API 并在 Superset 中显示结果

我该怎么做?

我找不到 Google Analytics 数据源。我也找不到 Google Search Console 数据源。

我找不到在 Superset 中显示从 API 检索的数据的方法,只能显示存储在数据库中的数据。我肯定遗漏了一些东西,但我在文档中找不到与验证和查询外部 API 相关的任何内容。

python google-analytics-api apache-superset
5个回答
6
投票

Superset 无法直接查询外部数据 API。 Superset 必须与受支持的数据库或数据引擎配合使用 (https://superset.incubator.apache.org/installation.html#database-dependency)。这意味着您需要找到一种方法从 API 中获取数据并将其存储在支持的数据库/数据引擎中。一些选项:

  • 构建一个小型 Python 管道,用于查询数据 API,将数据扁平化为表格/关系型数据,并将该数据上传到支持的数据源 - https://superset.incubator.apache.org/installation.html#数据库依赖项 - 并设置 Superset,以便它可以与该数据库/数据引擎对话。

  • 为了获得更强大的解决方案,您可能需要使用 DevOps/基础设施来建立工作流调度程序,例如 Apache Airflow (https://airflow.apache.org/),以定期 ping 该 API 并将其存储在Superset 可以与之对话的某种数据库。

  • 如果您想定期从流行的第 3 方 API 查询数据,我还建议您查看 Meltano 并了解有关 Singer Taps 的更多信息。这些将处理定期从 API 获取数据并将其存储在 Postgres 等数据库中的一些繁重工作。好消息是 Google Analytics 有一个 Singer Tap - https://github.com/singer-io/tap-google-analytics

无论哪种方式,Superset 只是数据库/数据引擎之上的薄层。因此,您需要找到一种方法从 API 中提取数据并将其存储在兼容的数据源中,这是无法回避的现实。


5
投票

Superset 的一位贡献者将这个项目命名为 shillelagh。这为 REST API 提供了 SQL 接口。 Apache Superset 中使用相同的包来与 gsheets 连接

新的适配器相对容易实现。有一个分步教程,解释了如何在 shillelagh 中创建 API 或文件类型的新适配器。

shillelagh 包底层通过使用 SQLite 包装器来使用 SQLite 虚拟表 APSW


1
投票

Redash 是执行该任务的 Superset 的替代品,但它不具有相同的功能。以下是这两种工具的集成比较列表:https://discuss.redash.io/t/a-comparison-of-redash-and-superset/1503

一个快速的替代方案是支付第三方服务费用,例如:https://www.stitchdata.com/integrations/google-analytics/superset/


0
投票

默认情况下没有此类连接器。

推荐的解决方案是将您的 Google Analytics 和 Search Console 数据存储在数据库中,您可以编写一个脚本,每 4 小时或任何适合您的时间间隔提取数据。

此外,您不应存储所有数据,而应仅存储您希望在报告中看到的维度/指标。


0
投票

编写了一个名为 rest-db-api 的小包,它使您能够使用外部 json API 作为 superset 上的数据源。它建立在shillelagh之上。您需要 SQL Lab 访问权限才能使用此功能。

自述文件中查找详细步骤。

© www.soinside.com 2019 - 2024. All rights reserved.