Javascript 在BigQuery中使用BQ命令行创建带有自定义项的视图
我想使用UDF和BQ命令行在BigQuery中创建视图。 BQ命令:Javascript 在BigQuery中使用BQ命令行创建带有自定义项的视图,javascript,command-line,google-bigquery,user-defined-functions,Javascript,Command Line,Google Bigquery,User Defined Functions,我想使用UDF和BQ命令行在BigQuery中创建视图。 BQ命令: bq query --use_legacy_sql=false --project_id="myProject" \ 'CREATE OR REPLACE FUNCTION udfFunc(str STRING) RETURNS STRING LANGUAGE js AS """ data = fromLib(str); return JSON
bq query --use_legacy_sql=false --project_id="myProject" \
'CREATE OR REPLACE FUNCTION udfFunc(str STRING) RETURNS STRING LANGUAGE js AS
"""
data = fromLib(str);
return JSON.stringify(data);
""" OPTIONS(library = "gs://<bucket>/lib_file.js");
SELECT'
col1,
col2,
udfFunc(col2) as new_col
FROM
`myProject:mySataset.table`'
bq查询--使用\u legacy\u sql=false--project\u id=“myProject”\
'创建或替换函数udfFunc(str STRING)将字符串语言js返回为
"""
数据=fromLib(str);
返回JSON.stringify(数据);
“”“OPTIONS(library=“gs:///lib_file.js”);
选择'
col1,
col2,
udfFunc(col2)作为新的
从…起
`myProject:mySataset.table`'
我犯了一个错误
无效值:例程名称“udfFunc”在运行时缺少数据集
请求中未设置默认数据集。根据您的查询(以及对问题的评论),您似乎只需要在查询期间使用temp函数,这是您需要执行的查询:
CREATE TEMP函数udfFunc(str STRING)将字符串语言js返回为
"""
数据=fromLib(str);
返回JSON.stringify(数据);
“”“OPTIONS(library=“gs:///lib_file.js”);
挑选
col1,
col2,
udfFunc(col2)作为新的
从…起
`myProject:myataset.table`
看起来错误消息非常清楚地回答了您的问题。正确的?您还应该使用myProject.myataset.table
而不是myProject:myataset.table
。同时,您可以只使用temp udf而不是permanent-在这种情况下,将创建或替换为创建temp
,并且在这种情况下不需要数据集引用。非常感谢您的评论:)但我已经厌倦了这一点,它给出了一个错误“不支持使用临时用户定义函数创建视图”