Google bigquery BigQuery:具有可选参数的持久UDF
我正在使用persistenudf函数,但不确定如何使用可选参数(如默认值)来实现它们 例如,一个简单的函数替换了Google bigquery BigQuery:具有可选参数的持久UDF,google-bigquery,user-defined-functions,optional-parameters,Google Bigquery,User Defined Functions,Optional Parameters,我正在使用persistenudf函数,但不确定如何使用可选参数(如默认值)来实现它们 例如,一个简单的函数替换了NaN: CREATE OR REPLACE FUNCTION `my_project.functions.ifnan`(number ANY TYPE, default_value ANY TYPE) AS ( if(is_nan(number),default_value,number) ); 如何使其在默认情况下像ifnan(value)一样返回0,并且仅当指定的其他默
NaN
:
CREATE OR REPLACE FUNCTION
`my_project.functions.ifnan`(number ANY TYPE, default_value ANY TYPE)
AS
(
if(is_nan(number),default_value,number)
);
如何使其在默认情况下像ifnan(value)
一样返回0
,并且仅当指定的其他默认值覆盖0
类似于ifnan(数字[,默认值])
查看,我们可以看到,对于SQL
和JavaScript
udf,都没有指定这种结构
在SQL语法中:
CREATE [OR REPLACE] [TEMPORARY | TEMP] FUNCTION [IF NOT EXISTS]
[[`project_name`.]dataset_name.]function_name
([named_parameter[, ...]])
[RETURNS data_type]
AS (sql_expression)
named_parameter:
param_name param_type
在JavaScript语法中:
CREATE [OR REPLACE] [TEMPORARY | TEMP] FUNCTION [IF NOT EXISTS]
[[`project_name`.]dataset_name.]function_name
([named_parameter[, ...]])
RETURNS data_type
LANGUAGE js
[OPTIONS (library = library_array)]
AS javascript_code
除此之外,我们还可以找到以下声明:
命名参数。由逗号分隔的参数名和
参数类型对。param_type的值是BigQuery数据类型。对于
一个SQL UDF,param_type的值也可以是任何类型
因此,不幸的是,在BigQuery
中使用UDF时,这似乎是不可能的
如果您需要任何进一步的帮助,请让我知道。查看我们可以看到,对于SQL
和JavaScript
udf,都没有指定这种结构
在SQL语法中:
CREATE [OR REPLACE] [TEMPORARY | TEMP] FUNCTION [IF NOT EXISTS]
[[`project_name`.]dataset_name.]function_name
([named_parameter[, ...]])
[RETURNS data_type]
AS (sql_expression)
named_parameter:
param_name param_type
在JavaScript语法中:
CREATE [OR REPLACE] [TEMPORARY | TEMP] FUNCTION [IF NOT EXISTS]
[[`project_name`.]dataset_name.]function_name
([named_parameter[, ...]])
RETURNS data_type
LANGUAGE js
[OPTIONS (library = library_array)]
AS javascript_code
除此之外,我们还可以找到以下声明:
命名参数。由逗号分隔的参数名和
参数类型对。param_type的值是BigQuery数据类型。对于
一个SQL UDF,param_type的值也可以是任何类型
因此,不幸的是,在BigQuery
中使用UDF时,这似乎是不可能的
如果你需要任何进一步的帮助,请告诉我