gpt4 book ai didi

java - Google 云 Bigquery UDF 限制

转载 作者:行者123 更新时间:2023-12-02 02:56:11 24 4
gpt4 key购买 nike

我在 Google bigquery 中遇到问题。我需要进行一些复杂的计算并将结果保存在 Bigquery 中。因此,我们使用 Java 进行复杂的计算,并借助 Google 云数据流将结果保存在 google bigquery 中。

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

因此我们切换到 Google bigquery UDF 选项。一种选择是 Bigquery 旧版 UDF。 Bigquery 旧版 UDF 存在局限性,即它是逐行处理的,因此我们逐步淘汰了此选项。因为我们需要多行来处理结果。

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

如果有人有任何想法,请提供有关如何处理该问题的指示。

最佳答案

您可以通过任何客户端 API 将标量 UDF 与标准 SQL 结合使用,只要在请求的 query 属性中传递 CREATE TEMPORARY FUNCTION 语句即可。例如,

QueryRequest queryRequest =
QueryRequest
.newBuilder(
"CREATE TEMP FUNCTION GetWord() AS ('fire');\n"
+ "SELECT COUNT(DISTINCT corpus) as works_with_fire\n"
+ "FROM `bigquery-public-data.samples.shakespeare`\n"
+ "WHERE word = GetWord();")
// Use standard SQL syntax for queries.
// See: https://cloud.google.com/bigquery/sql-reference/
.setUseLegacySql(false)
.build();
QueryResponse response = bigquery.query(queryRequest);

关于java - Google 云 Bigquery UDF 限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43050645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com