在 Dataflow Javascript UDF 中使用 performance.now()
Posted
技术标签:
【中文标题】在 Dataflow Javascript UDF 中使用 performance.now()【英文标题】:Using performance.now() in Dataflow Javascript UDF 【发布时间】:2020-05-20 10:09:28 【问题描述】:我正在尝试获取 Google Cloud Dataflow 执行以转换 BigQuery 记录的当前时间戳(以微秒为单位)。对于这个问题,我使用这个指令:
performance.timing.navigationStart + performance.now()
但是,它不起作用。为什么? 有没有办法在数据流javascript UDF中获得微秒?
提前致谢。
【问题讨论】:
根据 MDN,performance.timing 已弃用,您应该使用 PerformanceNavigationTiming。 【参考方案1】:Dataflow 本身不支持 js UDF。也许您正在使用一些 Google 提供的模板。
如果是这样,它使用 javax.script.ScriptEngine:
https://github.com/GoogleCloudPlatform/DataflowTemplates/blob/master/src/main/java/com/google/cloud/teleport/templates/common/JavascriptTextTransformer.java#L138
所以你可以在本地尝试一下,看看它支持什么语法。
谢谢。
【讨论】:
以上是关于在 Dataflow Javascript UDF 中使用 performance.now()的主要内容,如果未能解决你的问题,请参考以下文章
使用 DataFlow Engine 运行 bigquery 查询时,如何使用 UDF(和其他函数)?
是否可以在 UDF 中调用 javascript 过程 API?