问题标签 [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.
exception - 在大查询脚本中引发异常问题
我想在大查询脚本中使用 RAISE 关键字将自定义消息打印为异常错误。但是,以下命令行在 raise 命令中引发错误。但是,如果我删除 raise 命令,它工作正常。您能帮我如何提出自定义错误消息吗?另外,要了解更多关于RAISE [USING MESSAGE = message];
.
google-cloud-platform - 检查 BigQuery 合并语句中的两个数组是否完全相同
我在 BigQuery 中有两个要合并的表。出于解释的目的,让我们将这两个表命名为 A 和 B。因此,我们将 B 合并到 A 中。此外,我有一个名为 id 的主键,基于它我正在执行合并。现在,它们都有一个类型为 ARRAY 的列(让我们将其命名为 X 以进行解释)。如果两个表中的数组不相等,我的主要目的是用 B 中的数组数据替换 A 中的数组数据。我怎样才能做到这一点。我确实在 SO 和其他网站上找到了帖子,但没有一个在我的用例中工作。
合并的结果应该是
我怎样才能达到上述结果。任何线索都会非常有帮助。另外,如果还有其他直接解决上述情况的帖子,请指出我
编辑:
我尝试了以下方法:
希望这可以帮助。
javascript - 我们如何转换 .proto 文件和 JSON 描述符?
我想将 .proto 文件转换为 JSON 描述符。
.proto 文件是这样的: https ://github.com/protobufjs/protobuf.js/blob/master/google/protobuf/type.proto
JSON 描述符是这样的: https ://github.com/protobufjs/protobuf.js/blob/master/google/protobuf/type.json
我想在 bigquery udf 上使用 protobuf 和使用 bq-udf-protobuf 的原因。 https://github.com/salrashid123/bq-udf-protobuf 所以,我想我需要为我的 SQL 准备像 JSON 描述符这样的句子。
sql - Bigquery 删除另一个表中存在的行
我想从表 t1 中删除表 t2 中存在的所有行。
表2如下
如前所述,我想删除表 t1 中存在于表 t2 中的所有行。
所以我使用了代码
但它不起作用,这里的理想解决方案是什么?我想要的结果是
谢谢
struct - BigQuery UDF 从数组中移除。如何匿名引用结构中的元素?
这会从数组中删除元素,但会将字段重命名为 v。
有一个更好的方法吗?或者我可以获得结构的第一个元素(例如 t[0])吗?
google-cloud-platform - 如何在 Bigquery UDF 中将函数作为参数传递?
这是我的问题:
如何在 Bigquery UDF 中将函数作为参数传递?
我想从两组私有函数创建一个 bigquery UDF 库:
- 函数A、函数B、函数C
- 功能1,功能2,功能3
我想公开从两组函数的每个组合构建的 mixin UDF。
我想避免源代码中的代码重复。
到目前为止,我发现的两个解决方案是:
解决方案1:
在函数内部使用具有两个字符串参数和一个 switch case 的唯一公共 UDF。
例如:
但是,此解决方案无法从 bigquery SQL 内省、运行前错误和警告检查中受益,并且涉及解析每一行的参数。
解决方案2:
使用在新函数中实例化每个案例的部署脚本
例如:
但是,这个方案需要更多的逻辑来部署脚本并生成很多函数。
有首选/最佳解决方案吗?
编辑:
我的代码太复杂,无法在此处显示,但这是一个具体示例。
google-bigquery - BigQuery:计算两个字段之间的连续字符串匹配
我有两张桌子:
- Master_Equipment_Index(别名mei)包含列 serial_num 和 model_num
- 包含 account_num、serial_num 和 model_num 列的客户设备索引(别名cei )
最初,当插入新的 serial_num 记录时,护栏没有实现要求在mei数据中输入模型属性。每当该serial_num 稍后与cei数据中的客户帐户相关联时,模型数据都会作为空值继续。
我想要做的是根据mei数据中其他类似serial_nums的最强顺序字符匹配,从mei数据中回填cei数据中缺失的模型属性。
为了进一步澄清,我无权大规模更新mei或cei数据集。我可以正式提出变更请求,但我需要构建功能以证明其价值。因此,这必须在任何大规模行动查询更新之外完成。
cei.account_num | cei.serial_num | cei.model | mei.serial_num | mei.model | serial_num_str_match | 行号 |
---|---|---|---|---|---|---|
123123123 | B4I4SXT1 708 | 无效的 | B4I4SXT1 78A | 型号_Series1 | 8 | 1 |
123123123 | B4I4SXT 1708 | 无效的 | B4I4SXT AS34 | 型号_Series2 | 7 | 2 |
在上面的表格示例中,row_number 1 的连续字符串匹配计数高于 row_number 2。我只想返回 row_number 1 并使用mei .model 的值填充cei .model。
cei.account_num | cei.serial_num | cei.model | mei.serial_num | mei.model | serial_num_str_match | 行号 |
---|---|---|---|---|---|---|
123123123 | B4I4SXT1 708 | 型号_Series1 | B4I4SXT1 78A | 型号_Series1 | 8 | 1 |
给出一个规模的概念:
mei数据包含 100 万条记录,cei数据包含 50,000 条记录。我必须为每一个cei .account_num、cei .serial_num 执行这个字符串匹配,其中cei .model 数据为空。
使用 mac 地址,前 6 个字符标识供应商,我可以在下面的示例 SQL 中查看类似的内容,以帮助减少事务量 1:发生许多查找:
我查看了不同的选项,其中一些来自https://hoffa.medium.com/new-in-bigquery-persistent-udfs-c9ea4100fd83,但我没有找到我需要的。
任何见解或方向将不胜感激。
google-bigquery - `instanceof Date` 在 BigQuery UDF 中的行为不符合预期
任何人都知道为什么会出现以下结果false
而不是true
?
退货
false
(意外)
解决方法:
退货
true
(如预期)
sql - 我可以将我的 SQL 代码(查询)作为 .sql 文档导出到我的计算机吗?
我被要求在 BigQuery 中分析一个数据集(直到现在才使用它),我需要将我的代码导出为 .sql 文档。有没有办法做到这一点?
google-bigquery - 传递一个数组到 bigquery sql 中的 js UDF
我正在尝试从某些表中获取数据,并将它们传递给 bigquery 中的 JavaScript UDF。
我编写了以下代码,但我似乎无法理解将我的选择结果存储在所需结构中的正确语法,然后如何将其传递给我的 udf 函数。