微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Python API客户端在BigQuery中上传UDF

如何解决使用Python API客户端在BigQuery中上传UDF

我想在BigQuery中的特定数据集中创建一个UDF。我已经尝试过使用 Python客户端中的create_table和其他API方法,但似乎没有一个起作用。

是否有任何方法方法可以将UDF(存储在文件中并以字符串形式读取)上传到BigQuery中?

解决方法

这是我的UDF:

$ cat test.udf
CREATE OR REPLACE FUNCTION dataset_name.addFourAndDivideAny(x ANY TYPE,y ANY TYPE) AS ((x + 4) / y);

这是我在Cloud Shell上运行的上传命令(它将要求授权):

bq query --nouse_legacy_sql  < test.udf

在python中:

from google.cloud import bigquery

client = bigquery.Client()

with open('test.udf','r') as file:
     QUERY = file.read().replace('\n','')

query_job = client.query(QUERY)

我在文件中的单行中都有UDF,但是您也可以使用多行文件。只需确保QUERY字符串构造正确即可。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。