使用Google Cloud DataLab时,我很难创建一个返回STRUCT
的UDF。
作为一个最小的例子,如果我在datalab笔记本中这样做:
%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 Web 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声明返回STRUCT
的UDF?