【问题标题】:Tableau data extract refresh from Google BigQuery takes very long从 Google BigQuery 刷新 Tableau 数据提取需要很长时间
【发布时间】:2016-04-08 02:23:41
【问题描述】:

我们对 BigQuery Tableau Server 与 实时连接 的组合非常满意。但是,我们现在希望在 Tableau Server 上使用 数据提取 (500MB)(因为该数据源不太大并且使用频率很高)。这需要刷新时间过长 (1.5h+)。我们注意到只有 0.1% 是查询时间,其余的是数据导出。由于 Tableau Server 位于相同的平台和位置,因此延迟应该不是问题。

这类似于将 BigQuery 表导出到单个文件的速度很慢,可以通过使用 "daisy chain" 选项 (wildcards) 来解决。不幸的是,我们无法在 Tableau 中使用与 Google BigQuery 数据提取刷新类似的逻辑...

我们已经确定了一些方法,但对我们目前的想法并不满意:

  1. 使用增量刷新:我们现有的 BigQuery 表行可以更改:这些更改只有在您进行完全刷新时才能在 Tableau 中应用
  2. 使用菊花链选项将 BigQuery 表导出到 GCS 并使用 Tableau SDK 进行 Tableau 数据提取:这将导致相当多的开销...
  3. 使用 Tableau Server 的自定义接收器(数据提取)编写数据流作业
  4. 尝试使用直接与 BigQuery API 通信的 Tableau Web 连接器:我认为这不会更快吗?我没有看到任何关于使用 Tableau Web 连接器并行化调用的信息,但我还没有尝试过这种方法。

我们更喜欢非技术选项,以限制维护...有没有办法修改 Tableau 连接器以使用 BigQuery 的“菊花链”选项?

【问题讨论】:

  • BigQuery 最大的优势在于它的速度和规模化能力。它可以在几秒钟内聚合大量数据。一般来说,在处理大型数据集时,Tableau 中的数据提取往往更适合已经聚合的数据。为获得最佳性能,大部分查询工作必须在 BigQuery 端,而 Tableau 则更多地充当可延展的前端。否则,您将 BQ 用作数据存储而不是查询引擎。正如@Wouter 所建议的那样,最好构建一些自定义查询并提取结果,而不是从 Tableau 中提取数据和查询。

标签: google-bigquery tableau-api


【解决方案1】:

您已在 BigQuery 中上传数据。您不能只使用该加载作业的输入(可能是 CSV)作为 Tableau 的输入吗?

当我们使用 Tableau 和 BigQuery 时,我们还注意到提取速度很慢,但我们通常不会这样做,因为您失去了 BigQuery 的能力。我们首先从实时数据连接开始,然后(如果需要)将其转换为自定义查询,该查询将该数据聚合成一个小得多的数据集,只需几秒钟即可提取。

使用 BigQuery 和 Tableau 实现更高性能的另一种方法是预先聚合或联接表。大型表上的 JOIN 可能会很慢,因此如果您使用其中的很多,您可能会考虑生成一个非规范化数据集,该数据集首先完成所有 JOIN-ing。您将获得一个包含大量重复项和大量列的数据集。但是,如果您在 Tableau 中只选择您需要的内容(隐藏未使用的字段!),那么这些列将不会计入您的查询成本。

【讨论】:

  • 感谢您的提示。不幸的是,我们有很多遗留仪表板依赖于一个表中的数据(不是使用多个表的首选方法)。由于我们没有预算/时间来重新制作仪表板,因此这种方法行不通。
【解决方案2】:

我看到的一个建议类似于您的第 2 点,您将 BQ 表导出到 Google Cloud Storage,然后使用 Tableau Extract API 从 GCS 中的平面文件创建一个 .tde。

这是来自 Google Cloud 网站上的一篇文章,因此我认为这是最佳做法:

https://cloud.google.com/blog/products/gcp/the-switch-to-self-service-marketing-analytics-at-zulily-best-practices-for-using-tableau-with-bigquery

这里有一篇文章提供了实现上述目标的分步指南。

https://community.tableau.com/docs/DOC-23161

如果 Tableau 使用 BigQuery Storage API 优化 BQ 连接器以进行数据提取刷新,那就太好了。我们的 Tableau Server 环境也与 BQ 数据集位于同一 GCP 区域中,并且刷新时间很慢。

【讨论】:

    猜你喜欢
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-13
    • 2019-04-25
    • 1970-01-01
    相关资源
    最近更新 更多