我们对组合BigQuery< - >非常满意具有实时连接的Tableau Server。但是,我们现在希望在Tableau Server上使用数据提取(500MB)(因为此数据源不是太大而且经常使用)。这需要刷新时间(1.5h +)。我们注意到只有0.1%是查询时间,其余的是数据导出。由于Tableau Server位于相同的平台和位置,因此延迟不应成为问题。
这类似于将BigQuery表缓慢导出到单个文件,可以使用"菊花链" 选项(wildcards)来解决。很遗憾,我们无法在Tableau中使用类似的逻辑与Google BigQuery数据提取刷新...
我们已经确定了一些方法,但对目前的想法并不满意:
我们更喜欢非技术选项,以限制维护...有没有办法修改Tableau连接器以使用"菊花链" BigQuery的选项?
答案 0 :(得分:1)
您已在BigQuery中上传了数据。您是否只能将该加载作业的输入(可能是CSV)用作Tableau的输入?
当我们使用Tableau和BigQuery时,我们也注意到提取缓慢但我们通常不这样做,因为你失去了BigQuery的能力。我们首先从实时数据连接开始,然后(如果需要)将其转换为自定义查询,该查询将该数据聚合成一个小得多的数据集,只需几秒钟即可提取。
使用BigQuery和Tableau实现更高性能的另一种方法是预先聚合或连接表。巨大的表上的JOIN可能很慢,所以如果你使用很多那些,你可以考虑生成一个非规范化的数据集,它首先完成所有的JOIN。您将获得包含大量重复项和大量列的数据集。但是,如果您在Tableau中仅选择所需内容(隐藏未使用的字段!),则这些列将不计入您的查询成本中。
答案 1 :(得分:1)
我看到的一个建议类似于您将BQ表导出到Google Cloud Storage,然后使用Tableau Extract API从GCS中的平面文件创建.tde的第2点。
这是来自Google Cloud网站上的一篇文章,因此我认为这是最佳做法:
如果Tableau优化了BQ连接器以进行数据提取刷新,那就太好了。我们的Tableau Server环境也与BQ数据集位于同一GCP区域,并且刷新时间很慢。