有用的 Amazon Redshift SQL 用户定义函数的任何示例?

Posted

技术标签:

【中文标题】有用的 Amazon Redshift SQL 用户定义函数的任何示例?【英文标题】:Any examples of useful Amazon Redshift SQL User Defined Functions? 【发布时间】:2020-07-17 03:26:49 【问题描述】:

我想知道是否有人可以分享他们如何利用 redshift 用户定义函数来帮助他们优化查询或脚本的示例。

在 Redshift 文档中 - https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_FUNCTION.html - 该示例非常基础,编写函数可能需要更多工作。

我觉得它们在编写长脚本时很有用,但我找不到任何激发灵感的例子!

【问题讨论】:

我见过它用于从字符串中进行复杂的提取,或者用复杂的公式计算值。 Scalar UDF 只返回一个值,无法访问数据库,因此它基本上将输入值转换为输出值。如果需要更复杂的东西,请使用存储过程。 【参考方案1】:

我可以分享我的项目,这是一组基于 AWS Lambda 的用户定义函数 (UDF),允许使用 SQL 语句进行直接/反向地理编码,将此任务委托给新发布的 Amazon Location Service。看看:

https://github.com/aws-samples/amazon-redshift-location-user-defined-functions.

该项目包含用于在 CloudFormation 模板中设置 UDF、IAM 角色和 AWS Lambda 的所有源代码。您甚至可以在您的帐户中单击“Lauch Stack”按钮启动它。

这是一个功能齐全的示例,请检查。

【讨论】:

以上是关于有用的 Amazon Redshift SQL 用户定义函数的任何示例?的主要内容,如果未能解决你的问题,请参考以下文章

使用 SQL 的 Amazon Redshift 中的正则表达式

Postgres SQL (Amazon Redshift) 在启动时运行命令

不使用 jdbc 驱动程序查询 Amazon Redshift

无法使用 SQL Workbench/J 在 Amazon Redshift 中创建新用户

如何使用SQL或Python在Amazon Redshift中从Amazon Snow雪花重新创建数据库表? (一次重新创建所有ot,而不是一次一遍地创建)

在 SQL (Amazon Redshift) 中使用正则表达式提取标签