问题标签 [bigquery-udf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
14 浏览

google-bigquery - 查询中的 BigQuery 默认节点(FROM 子句)

我正在开发一个在 BigQuery 中有多个节点的数据库。但是,我的工作主要集中在一个特定的节点上。

有没有办法将此节点设置为默认节点,以便每次执行查询时都不必在 FROM 子句中重写超长表位置?

0 投票
1 回答
43 浏览

google-bigquery - 总结时间范围内的字数

我有下表,它存储了响应文本和与之关联的关键字搜索。

创建表 nlp.search(response string, words string,inquiry_time timestamp);

insert into nlp.search values('如何重置密码','重置word密码',TIMESTAMP("2021-09-19 05:30:00+00")); 插入 nlp.search values('如何重置密码','重置密码',TIMESTAMP ("2021-09-20 07:30:00+00")); 插入 nlp.search values('如何重置密码','密码',TIMESTAMP ("2021-09-16 08:30:00+00")); 插入 nlp.search values('如何重置密码','reset',TIMESTAMP ("2021-09-14 08:30:00+00"));

我想以这种格式的响应提供一个摘要报告以及与之关联的每个单词的计数。

response individual_word_count
如何重设密码 reset(3) word(1) password(2) passphrase(1)

还可以传递时间戳列inquiry_time 以缩小日期范围,并且必须相应地计算汇总值

例如,时间范围过滤器 2021-09-19 到 2021-09-20

response individual_word_count
如何重设密码 reset(2) word(1) password(1) passphrase(1)

这可以使用视图来完成吗?

0 投票
2 回答
692 浏览

sql - BigQuery - 连接谓词中的表不受支持的子查询

最近我开始研究 BigQuery,有些事情让我仍然感到困惑。Big Query 上此查询的替代方法是什么?

问题是 Big Query 不支持 join 中的子查询。我尝试了许多替代方案,但结果彼此不匹配。

0 投票
0 回答
51 浏览

json - 在不转义字符串的情况下将 BigQuery 提取到换行符分隔的 JSON

当其中一列包含非结构化 json 字符串时,我有一个 BQ 表: 在此处输入图像描述

我正在尝试制作一个 BQ 导出作业,它将将此表输出为换行符分隔的 json。但是,非结构化的 json 字符串正在被转义:

是否可以将此列导出为 json,而不是转义字符串?这是我真正想要得到的,所以一个简单的 json 加载方法将分别在每一行上工作:

0 投票
1 回答
160 浏览

google-bigquery - 如何在 BIGQUERY 上导出空字段

当我尝试通过 BigQuery 导出 JSON 对象时,当存在具有“null”值的字段时,它会从结果下载中消失。

下载查询示例:

实际结果是:{}

当预期结果为:{field1: null}

如何像我在预期结果中显示的那样强制使用空值导出?

0 投票
1 回答
44 浏览

google-bigquery - BigQuery UDF 删除字符串中的重音符号/变音符号

使用这个 javascript 代码,我们可以删除字符串中的重音符号/变音符号。

如果我们创建 BigQuery UDF,它不会(即使使用双 \)。

对此有什么想法吗?

0 投票
0 回答
38 浏览

sql - 调试导致“资源超出”错误的行

一个调试资源如何超出来自 BigQuery 的错误消息,这些错误消息是非描述性的,并且没有指向导致问题的任何特定行?

例如

我很想简单/修复/删除导致此问题的此函数的输入,但是,BigQuery 没有给我任何关于如何调试它的想法,除了不断地使用不同的过滤器重新查询我的数据集,直到我已经消除了有问题的行。

任何有关如何在未来调试这些的见解将不胜感激!

或者任何 BQ 支持工程师都可以拥有实际处理资源超出异常安全的SAFE版本,ST_GeogFromGeoJSON而不是抛出此错误消息。

也通过这里报告了这个问题。

注意:在尝试调试使用 JS UDF 时导致超出资源的行时,我也遇到了这个问题。

编辑:

一个示例查询:

我将尝试找到一个产生此类错误的折线示例,尽管...正如我上面所说,很难确定确切的那个。虽然我知道这个查询在将我的数据集下采样到 95% 但不包括关键时间范围时有效。

0 投票
1 回答
55 浏览

sql - 在 bigquery 的 UDF 中调用本机函数

我正在尝试将我们的遗留函数转换为标准 SQL,因此通过使用 UDF 作为 gig 来重用旧函数名称和本机函数。

在这里,我有我的 UDF to_char 并在内部使用参数来运行 FORMAT_DATE 但是当我执行它时,即使创建了一个例程,我也会收到没有其他信息的错误。一旦创建了例程并注释掉代码,错误就会出现,因为找不到函数 to_char

如果我运行 aCREATE TEMP FUNCTION我会得到很长的加载时间(大约 30 - 90 秒),这显然是不对的。

我不想创建临时函数。理想情况下,我希望有一个例程,我可以在需要时继续调用,但我的 UDF 和 FORMATE_DATE 函数搞砸了。任何帮助将不胜感激,谢谢!

顺便说一句,在 GBQ 中运行它。

0 投票
2 回答
58 浏览

google-bigquery - Postgres 函数作为 BigQuery 中的过程的正确过程语法?

我在 postgres 中有以下功能:

我想将其转换为 BigQuery 以获得相同的功能,到目前为止我已经尝试过:

但我收到以下错误:

在 BigQuery 中成功生成与过程相同的 postgres-style-function 的正确命令是什么?

0 投票
1 回答
64 浏览

postgresql - How to create BigQuery Procedure that passes in table as alias to use any field?

I have the following function in postgres:

I have e_p_procedure successfully working in BigQuery. But the current error I have is

my_table is just as it seems, a table (aliased as mt) with various fields I'd like to input into a BigQuery Procedure replica of this Postgres function.

How can I accomplish this in BigQuery?