在 Dataflow JavaScript UDF 中跳过记录
Posted
技术标签:
【中文标题】在 Dataflow JavaScript UDF 中跳过记录【英文标题】:Skipping records in Dataflow JavaScript UDF 【发布时间】:2018-05-22 17:37:52 【问题描述】:我正在使用 Dataflow 预定义的 GCS to BigQuery
模板将一些数据从 GCS 导入 BigQuery。
使用 javascript UDF 处理数据。
我想排除一些被插入 BigQuery 的记录。有没有办法用 JavaScript UDF 做到这一点?
【问题讨论】:
【参考方案1】:对于您想跳过的记录,您可以从 UDF 发出 undefined 并且这些记录将不再包含在输出中。
您可以在此处查看此功能的示例: https://github.com/GoogleCloudPlatform/DataflowTemplates#filtering-records
/**
* A transform function which only accepts 42 as the answer to life.
* @param string inJson
* @return string outJson
*/
function transform(inJson)
var obj = JSON.parse(inJson);
// only output objects which have an answer to life of 42.
if (obj.hasOwnProperty('answerToLife') && obj.answerToLife === 42)
return JSON.stringify(obj);
【讨论】:
以上是关于在 Dataflow JavaScript UDF 中跳过记录的主要内容,如果未能解决你的问题,请参考以下文章
使用 DataFlow Engine 运行 bigquery 查询时,如何使用 UDF(和其他函数)?
是否可以在 UDF 中调用 javascript 过程 API?