3

我愿意通过他们的 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 数据源。

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

4

5 回答 5

5

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

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

  • 对于更强大的解决方案,您可能希望使用 devops / 基础架构来支持像 Apache Airflow ( https://airflow.apache.org/ ) 这样的工作流调度程序,以定期 ping 此 API 并将其存储在某种数据库中Superset 可以与之交谈。

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

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

于 2020-08-27T13:24:02.280 回答
3

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

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

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

于 2021-10-16T19:53:29.977 回答
2

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

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

于 2019-07-25T04:03:34.960 回答
1

默认情况下没有这样的连接器可用。

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

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

于 2018-05-04T19:46:51.890 回答
0

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

我想你已经回答了你自己的问题。我不知道 Google Analytics 的 SQL 接口。

于 2018-04-16T00:16:10.727 回答