BigQuery 的 UDF 不支持 API 同步查询或者如何使用?

Posted

技术标签:

【中文标题】BigQuery 的 UDF 不支持 API 同步查询或者如何使用?【英文标题】:BigQuery's UDF doesn't support synchronous query by API or how to use? 【发布时间】:2015-08-26 06:42:23 【问题描述】:

BigQuery 自 2015 年 8 月 25 日起支持 UDF。

我发现 jobs.query 可以通过 userDefinedFunctionResources 使用 UDF https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.query

但查询不支持 UDF? https://cloud.google.com/bigquery/docs/reference/v2/jobs/query

我想通过同步查询使用UDF,如何使用?

【问题讨论】:

【参考方案1】:

作业是管理异步任务的对象。所以这在同步模式下是不可能的。

您列出的一种方法是为 Bigquery 创建一个 Job,您确实有 Job 配置对象,并且您可以使用 UDF。 另一种是简单的查询同步接口,没有Job配置对象,不能使用UDF。

【讨论】:

请注意,您可以使用 jobs.insert 方法创建查询作业,然后使用 jobs.getQueryResults 来轮询完成,就像使用“同步”接口一样。这是获得轮询行为使用 UDF 的一种方法。 谢谢,我想确认使用 udf 的唯一方法是 jobs.insert。我明白了,我会尝试完成投票。

以上是关于BigQuery 的 UDF 不支持 API 同步查询或者如何使用?的主要内容,如果未能解决你的问题,请参考以下文章

在 BigQuery 中将 API 调用作为 UDF 的一部分 - 可能吗?

如何使用调用 UDF 的 Python 脚本来使用 BigQuery API

BigQuery 中使用引用另一个表的 UDF 的相关子查询错误

大查询 UDF 支持

在 mapreduce 中实现 BigQuery UDF 作为地图的动机是啥?

SHA-256 BigQuery函数或UDF