使用 BQ 命令行在 BigQuery 中使用 UDF 创建视图
Using BQ Command line create View with UDF in BigQuery
我想使用 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.stringify(data);
""" OPTIONS(library = "gs://<bucket>/lib_file.js");
SELECT'
col1,
col2,
udfFunc(col2) as new_col
FROM
`myProject:mySataset.table`'
我收到一个错误
无效值:例程名称“udfFunc”缺少数据集
请求中没有设置默认数据集。
根据您的查询(以及对问题的评论),您似乎在查询期间只需要一个临时函数,这是您的查询:
- 定义一个仅在此查询中可见的临时函数
- 在查询中立即使用临时函数
CREATE TEMP 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`
我想使用 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.stringify(data);
""" OPTIONS(library = "gs://<bucket>/lib_file.js");
SELECT'
col1,
col2,
udfFunc(col2) as new_col
FROM
`myProject:mySataset.table`'
我收到一个错误 无效值:例程名称“udfFunc”缺少数据集 请求中没有设置默认数据集。
根据您的查询(以及对问题的评论),您似乎在查询期间只需要一个临时函数,这是您的查询:
- 定义一个仅在此查询中可见的临时函数
- 在查询中立即使用临时函数
CREATE TEMP 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`