在 BigQuery 中创建 UDF

Posted

技术标签:

【中文标题】在 BigQuery 中创建 UDF【英文标题】:Creating a UDF in BigQuery 【发布时间】:2016-03-24 20:52:44 【问题描述】:

我想在 BigQuery 中创建一个名为 maxDate 的 UDF,它执行以下操作:

maxDate('table_name') 返回运行以下查询的结果:

select max(table_id) from fact.___TABLES____ where table_id

我对 JS 很陌生,不太确定如何开始。这看起来很简单。谁能指出我正确的方式?我已经阅读了文档,但不确定如何编写。

【问题讨论】:

【参考方案1】:

BigQuery 中尚不存在标量 UDF 查看更多关于 BigQuery User-Defined Functions 的信息,了解他们今天的情况。 为简化起见 - 将今天的 UDF 视为您可以查询的虚拟表,而该表又由真实表提供支持,其中每一行逐行处理,并为每一行应用 javascript 代码并生成(而不是此输入行)零,一或多(取决于在js逻辑中实现的)行)

【讨论】:

您能否详细说明标量 UDF 的含义?看起来您只能创建一个包装子查询结果集的 UDF,对吗? 标量 UDF 是可应用于字段并在 SELECT 语句中使用的 udf,而在 FROM 中使用表式 UDF。所以是的 - 正确 - 您将当前可用的 udf 应用于整个集合/表/[子]查询。注意:上面的标量 udf 定义非常简化 - 只是为了给你一个想法

以上是关于在 BigQuery 中创建 UDF的主要内容,如果未能解决你的问题,请参考以下文章

在 BigQuery 中创建动态视图

如何从 java 在 BigQuery 中创建分区表?

BigQuery 从查询中创建重复记录字段

我们可以在 BigQuery 中自定义函数吗?如何在 BigQuery 中创建日期参数?

减去刚刚在 bigquery 中创建的列

BigQuery 在一个查询中创建小样本表