Google云大查询UDF限制

时间:2017-03-27 15:35:04

标签: java google-bigquery google-cloud-platform user-defined-functions google-cloud-dataflow

我在Google bigquery中遇到了问题。我有一些复杂的计算需要做,并将结果保存在Bigquery中。所以我们在Java中进行复杂的计算,并在谷歌云数据流的帮助下将结果保存在google bigquery中。

但是这个复杂的计算需要大约28分钟来完成java。客户要求是在20秒内完成。

所以我们切换到Google bigquery UDF选项。一个选项是Bigquery遗留UDF。 Bigquery遗留UDF有限制,它正在逐个处理行,所以我们淘汰了这个选项。因为我们需要多行来处理结果。

第二个选项是Scalar UDF。大查询标量UDF只能从WEB UI或命令行调用,不能从java客户端触发。

如果有任何人有任何想法,请提供有关如何继续的问题的指示。

2 个答案:

答案 0 :(得分:1)

  

大查询标量UDF只能从WEB UI或命令调用   line并且不能从java客户端触发。

这不准确。标准SQL通过CREATE TEMPORARY FUNCTION语句支持标量UDF,可以在任何应用程序和任何客户端使用它 - 它只是SQL查询的一部分:

https://cloud.google.com/bigquery/docs/reference/standard-sql/user-defined-functions

要了解如何启用标准SQL,请参阅此文档:https://cloud.google.com/bigquery/docs/reference/standard-sql/enabling-standard-sql 特别是,最简单的方法是在SQL查询开头添加#standardSql标记。

答案 1 :(得分:1)

只要::after语句在请求的CREATE TEMPORARY FUNCTION属性中传递,您就可以在任何客户端API中使用带标准SQL的标量UDF。例如,

query
相关问题