使用 Python API 客户端在 BigQuery 中上传 UDF
Upload UDF in BigQuery using Python API Client
我想在 BigQuery 的特定数据集中创建一个 UDF。我已经尝试使用 Python Client 中的 create_table 和其他 API 方法,但 none 似乎有效。
有什么方法可以将 UDF(存储在文件中并作为字符串读取)上传到 BigQuery 中吗?
这是我的 UDF:
$ cat test.udf
CREATE OR REPLACE FUNCTION dataset_name.addFourAndDivideAny(x ANY TYPE, y ANY TYPE) AS ((x + 4) / y);
这是我在云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,但你也可以使用 multi-lines 文件。只需确保 QUERY 字符串构造正确即可。
我想在 BigQuery 的特定数据集中创建一个 UDF。我已经尝试使用 Python Client 中的 create_table 和其他 API 方法,但 none 似乎有效。
有什么方法可以将 UDF(存储在文件中并作为字符串读取)上传到 BigQuery 中吗?
这是我的 UDF:
$ cat test.udf
CREATE OR REPLACE FUNCTION dataset_name.addFourAndDivideAny(x ANY TYPE, y ANY TYPE) AS ((x + 4) / y);
这是我在云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,但你也可以使用 multi-lines 文件。只需确保 QUERY 字符串构造正确即可。