我们在服务器上安装了一个现场oracle数据库。我们必须创建一些图表/仪表板与Tableau在这些数据的房地内。注意,tableau CRM不是Tableau Online,它是Salesforce生态系统的Tableau版本。
Tableau CRM有API,因此我们可以将数据推送到它,也可以通过编程方式将CSV上传到它。所以,我们能做的是
我已经测试了第二种选择,而且效果很好。
但是,你们都知道,这是没有效率的。因为我必须在一天内运行一个cronJob并安排进程多次。我必须一直查询完整的表格。
我正在寻找一个更好的方法。您知道还有其他工具/技术可以实现平稳的同步过程吗?
谢谢
发布于 2022-03-08 15:37:33
你在问题中描述的第二个方法是一个很好的解决方案。但是,您可以对其进行一些优化。
我必须一直查询完整的表格。
这是可以避免的。如果您查看文档 of SObject InsightsExternalData,您可以看到它有一个名为Operation的字段,其中一个值为Append, Delete, Overwrite, Upsert,当您将数据推送到Tableau时,您可以使用Append操作符并推送TCRM中不存在的记录。这样,您就只能从数据库中查询增量记录。这减少了CSV的大小,您将不得不推送,而且由于大小较小,所以上传到TCRM所需的时间较少。
然而,要实现这个解决方案,您需要在数据库端做两件事。
有了这两个之后,您必须编写一个查询,按照DateTime字段的升序对所有记录进行排序,并且只接受那些低于您上一次推到TCRM的UniqueId的文件。这样,您的结果集只包含您在TCRM上没有的增量记录。之后,您可以使用您构建的相同的管道来推送数据。
https://stackoverflow.com/questions/71093522
复制相似问题