使用DBT在BigQuery上部署UDF函数

问题描述

想象一下我想将以下JS function部署到BigQuery。

我试图在宏标记之间包装sql并执行dbt run,但没有部署。

{% macro hello() %}

CREATE OR REPLACE FUNCTION
{{target.schema}}.hello(mean FLOAT64,std FLOAT64,x FLOAT64)
RETURNS FLOAT64
LANGUAGE js
AS """
  return lib.hello(mean,std,x);
"""
OPTIONS (
    library=["gs://bucket/path/to/lib.js"]
);

{% endmacro %}

我该怎么做? 谢谢。

解决方法

创建一个test.sql模型以能够执行dbt run。 另外,请确保在on-run-start:

中填写dbt_project.yml部分
SELECT {{target.schema}}.hello(1.0,1.0,0.3) value

不幸的是,一个功能不能仅由其自身部署。