使用 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”缺少数据集 请求中没有设置默认数据集。

根据您的查询(以及对问题的评论),您似乎在查询期间只需要一个临时函数,这是您的查询:

  1. 定义一个仅在此查询中可见的临时函数
  2. 在查询中立即使用临时函数
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`