You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Palantir Foundry数据同步:基于时间戳的增量更新事务选型与查询方案

Palantir Foundry 增量同步(新增+更新)解决方案

核心配置

  • 事务类型:选择 Merge Transaction。该类型支持基于主键的合并操作,既能插入源端新增记录,也能覆盖Foundry中已存在主键的旧记录,完全匹配你新增+更新的需求。
  • Incremental开关:必须开启。开启后Foundry会自动跟踪每次同步的时间戳,仅处理源端在上次同步后有变化的数据,避免全量扫描,效率远高于Snapshot方案。

对应的查询语句

假设源表为source_db.source_table,Foundry目标表为foundry_target_table,以下是完整的增量同步SQL:

-- 筛选源端增量数据(上次同步后新增/修改的记录)
WITH incremental_source AS (
    SELECT 
        id,
        created_date,
        modified_date,
        -- 替换为你实际需要同步的其他字段
        column_a,
        column_b
    FROM source_db.source_table
    -- 利用Foundry内置增量变量,仅取上次同步后更新的记录
    WHERE modified_date > @incremental.limit
)
-- 合并到目标表
MERGE INTO foundry_target_table AS target
USING incremental_source AS source
-- 基于主键ID匹配
ON target.id = source.id
-- 匹配到则更新指定字段
WHEN MATCHED THEN
    UPDATE SET
        target.created_date = source.created_date,
        target.modified_date = source.modified_date,
        target.column_a = source.column_a,
        target.column_b = source.column_b
-- 未匹配到则插入新记录
WHEN NOT MATCHED THEN
    INSERT (id, created_date, modified_date, column_a, column_b)
    VALUES (source.id, source.created_date, source.modified_date, source.column_a, source.column_b)

关键注意事项

  • 确保源端MODIFIED_DATE字段准确可靠:每次数据修改(包括新增)都要同步更新该字段,否则增量筛选会遗漏需要更新的记录。
  • @incremental.limit是Foundry内置变量,第一次运行时自动取极小值(如1970-01-01)拉取全量数据;后续运行仅处理上次同步时间后的增量数据。
  • 目标表必须已设置ID为主键,否则Merge Transaction无法正常执行匹配逻辑。

内容的提问来源于stack exchange,提问作者Snowman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:23:20