【问题标题】:Create intermediate repeated string, and pass to UDF in BigQuery创建中间重复字符串,并在 BigQuery 中传递给 UDF
【发布时间】:2015-11-04 20:30:36
【问题描述】:

我的最终目标是将重复的字符串字段传递到 BigQuery UDF,以创建可变参数 UDF 的形式。

有没有更好的办法:

SELECT output from myUDF(SELECT split(concat(field1, ':', field2, ...), ':') ...)

例如,如果能够有一个REPEATED 内置构造函数,那就太好了:

SELECT output from myUDF(SELECT REPEATED(field1, field2) as fields ...)

【问题讨论】:

  • 我认为你应该把这个逻辑移到 UDF 中
  • 很公平 - 但仍然会保留对 CONCAT 的调用,然后很容易忘记分隔符。
  • 没有 CONCAT,你应该这样做 - 从 myUDF 中选择输出(选择 field1,field2 ...)。所有逻辑都转到 UDF。除非您首先需要进行聚合:) 具体示例将有助于解决此问题

标签: google-bigquery user-defined-functions


【解决方案1】:

谢谢 - 我们一直在考虑在我们启动标量函数时对可变参数样式的支持是否有用。在我们规划该功能时,听到用户会发现这样一个引人注目的功能会很有帮助。

您发布的解决方法可能是您目前最好的选择。

【讨论】:

  • 谢谢 - 事实上,这种可变参数样式 UDF 的动机是由于缺少标量函数:我想将相同的函数应用于来自不同表的多个公共字段(我将使用示例验证地址)。与其为每个输入模式编写一个 UDF,我更愿意构造一个“查找”子查询,它一次适用于所有地址字段,并提供“更正”的输出。尽管如此,拥有可变参数标量还是很有用的,因为我们可以沿不同的维度(例如按客户)验证多个地址(例如每个交易的地址)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-30
  • 1970-01-01
  • 2019-11-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多