Datalab 创建返回 STRUCT 的 BigQuery UDF

Datalab create a BigQuery UDF returning a STRUCT

使用 Google Cloud DataLab 时,我正在努力创建一个 returns STRUCT.

的 UDF

作为一个最小的例子,如果我在数据实验室笔记本中这样做:

%bq udf -n demo -l js
// Some fn description
// @param x FLOAT64
// @returns STRUCT<Name STRING>

var obj = {name:"John"};
return obj;

然后我运行进入如下错误:

UDF return type must be defined using // @returns <type>

然而,当使用 BigQuery 网络时 UI 我可以:

CREATE TEMPORARY FUNCTION demo(x FLOAT64)
RETURNS STRUCT<Name STRING>
LANGUAGE js AS """
return {
Name: "John"
};
""";

SELECT demo(data) as demoOutput
FROM UNNEST([1,2]) AS data;

并获得预期的输出。

如何使用 Datalab 声明 returns 为 STRUCT 的 UDF?

抱歉,您遇到了这个错误,这是由不接受空格的类型解析正则表达式引起的。请参阅 this github issue,下一个版本中可能会有一个未完成的修复。