【问题标题】:How to push data from a on-premises database to tableau crm如何将数据从本地数据库推送到 tableau crm
【发布时间】:2022-03-08 23:37:33
【问题描述】:

我们在服务器上安装了本地 oracle 数据库。我们必须使用 Tableau CRM 在这些本地数据上创建一些图表/仪表板。请注意,tableau CRM 不是 Tableau Online,它是适用于 Salesforce 生态系统的 Tableau 版本。

Tableau CRM 具有 API,因此我们可以将数据推送到它,也可以以编程方式将 CSV 上传到它。 那么,可以做的是,

  1. 在本地服务器上运行 nodeJS 应用,从 Oracle DB 中提取数据,然后通过 TCRM API 推送到 Tableau CRM。
  2. 在本地服务器上运行 nodeJS 应用,从 Oracle DB 中提取数据,创建 CSV,通过 TCRM API 推送 CSV

我已经用第二个选项进行了测试,它工作正常。

但是,你们都知道,它没有效率。因为我必须在一天内多次运行 cronJob 并安排该过程。我必须一直查询全表。

我正在寻找更好的方法。您知道任何其他可以实现平滑同步过程的工具/技术吗?

谢谢

【问题讨论】:

    标签: database tableau-api data-synchronization oracle-cdc


    【解决方案1】:

    您在问题中描述的第二种方法是一个很好的解决方案。不过,你可以稍微优化一下。

    I have to query the full table all the time.
    

    这是可以避免的。如果您查看 SObject InsightsExternalDatadocumentation,您会发现它有一个名称为 Operation 的字段,它采用这些值之一 Append, Delete, Overwrite, Upsert 您需要做的是,当您将数据推送到 Tableau CRM 时,您可以使用 Append 运算符并推送 TCRM 中不存在的记录。这样,您只需从数据库中查询增量记录。这减少了您必须推送的 CSV 的大小,并且由于大小更小,上传到 TCRM 所需的时间更短。

    但是,要实现此解决方案,您需要在数据库方面做两件事。

    1. 唯一标识数据库中每条记录的唯一标识符
    2. 日期时间字段

    一旦有了这两个,您就必须编写一个查询,按 DateTime 字段的升序对所有记录进行排序,并且只获取低于您推入 TCRM 的最后一个 UniqueId 的文件。这样,您的结果集仅包含您在 TCRM 上没有的增量记录。之后,您可以使用您构建的相同管道来推送数据。

    【讨论】:

      猜你喜欢
      • 2023-04-04
      • 2015-10-23
      • 2020-11-08
      • 2022-01-27
      • 2020-12-30
      • 1970-01-01
      • 2010-11-23
      • 2022-01-24
      • 1970-01-01
      相关资源
      最近更新 更多