首页 > 解决方案 > 从样条谱系中查找火花管道开始时间

问题描述

我正在探索样条曲线以确定火花执行管道所需的时间(从初始化火花上下文到写入结果)。我能看见

"timestamp":1611397050192

在实际上是写入时间的样条谱系文件中。是否有任何选项可以从 Spline Lineage Log 获取管道的开始时间?

标签: apache-sparkpysparkspline-data-lineage-tracker

解决方案


Spline 不直接捕获开始时间,但从 Spline 0.6 开始,执行时间在ExecutionEvent.durationNs属性中捕获(值以纳秒为单位)。所以你可以很容易地计算开始时间timestamp - durationNs * 1000000

{
  planId: "1214f38d-c2c9-4155-963b-f92d91dac4fa",
  timestamp: 1614094012617,
  durationNs: 69208608168,
)

然而,有一个抬头。当前版本的 Spline 捕获写入操作,跳过中间或仅内存的操作,例如show()collect()。这意味着,例如,如果您调用数据帧的某处,则后续写入cache()的执行时间将根据读取缓存数据计算, 作为 DAG 前面的部分,不会被写入触发。cache()


推荐阅读