【发布时间】: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 数据提取刷新类似的逻辑...
我们已经确定了一些方法,但对我们目前的想法并不满意:
- 使用增量刷新:我们现有的 BigQuery 表行可以更改:这些更改只有在您进行完全刷新时才能在 Tableau 中应用
- 使用菊花链选项将 BigQuery 表导出到 GCS 并使用 Tableau SDK 进行 Tableau 数据提取:这将导致相当多的开销...
- 使用 Tableau Server 的自定义接收器(数据提取)编写数据流作业。
- 尝试使用直接与 BigQuery API 通信的 Tableau Web 连接器:我认为这不会更快吗?我没有看到任何关于使用 Tableau Web 连接器并行化调用的信息,但我还没有尝试过这种方法。
我们更喜欢非技术选项,以限制维护...有没有办法修改 Tableau 连接器以使用 BigQuery 的“菊花链”选项?
【问题讨论】:
-
BigQuery 最大的优势在于它的速度和规模化能力。它可以在几秒钟内聚合大量数据。一般来说,在处理大型数据集时,Tableau 中的数据提取往往更适合已经聚合的数据。为获得最佳性能,大部分查询工作必须在 BigQuery 端,而 Tableau 则更多地充当可延展的前端。否则,您将 BQ 用作数据存储而不是查询引擎。正如@Wouter 所建议的那样,最好构建一些自定义查询并提取结果,而不是从 Tableau 中提取数据和查询。
标签: google-bigquery tableau-api