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

如何在Palantir Foundry中跟踪数据集构建的结束时间戳?

跟踪Palantir Foundry数据集构建结束时间戳的方法

以下是几种实用的实现方式,满足每日追踪的需求:

1. 通过元数据API直接查询

利用Foundry的内置元数据能力,可以直接获取数据集的最后构建运行信息,包括结束时间戳。你可以在Code Repository中编写脚本,调度每日运行并将结果存入监控数据集。

示例Python代码(需依赖Foundry SDK):

from foundry import FoundryClient

# 初始化客户端
client = FoundryClient()
# 替换为目标数据集的RID
target_dataset_rid = "ri.foundry.main.dataset.xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
dataset = client.get_dataset(dataset_rid=target_dataset_rid)

# 获取最后一次构建的结束时间
last_build_end = dataset.last_transformation_run.end_time
# 将结果写入监控数据集(示例逻辑)
monitoring_dataset = client.get_dataset(dataset_rid="your-monitoring-dataset-rid")
monitoring_dataset.write([{"dataset_rid": target_dataset_rid, "build_end_time": last_build_end}])

2. 在构建流程中嵌入时间戳记录

在目标数据集的Transform构建逻辑末尾,添加一个步骤,将当前构建的结束时间写入专门的监控数据集。这种方式能确保时间戳与构建流程强绑定,避免API查询的延迟问题。

示例Scala Transform代码:

import java.time.Instant
import com.palantir.transforms.lang.scala.api.Transform

@Transform
def transform(inputs: Inputs, outputs: Outputs): Unit = {
  // 原有数据集处理逻辑
  val mainData = inputs.getDataset("source-data").asSparkDataFrame()
  // ... 数据处理代码 ...
  outputs.getDataset("target-dataset").write(mainData)

  // 写入构建结束时间到监控表
  val buildInfo = Seq(
    ("target-dataset", Instant.now().toString)
  ).toDF("dataset_name", "build_end_timestamp")
  outputs.getDataset("build-monitoring-dataset").write(buildInfo)
}

3. 自定义健康检查实现追踪

在Foundry Health Checks中创建自定义检查任务,每日触发执行。检查脚本通过元数据接口获取数据集最后构建时间,结果可在Health Checks面板查看,也可配置将检查结果同步到数据集用于后续分析。

核心逻辑是调用Foundry元数据接口获取构建时间,验证其是否在预期的时间窗口内(比如每日指定时段),同时记录时间戳到输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 17:27:15