如何使用 AWS Redshift 执行 Bash 脚本

Posted

技术标签:

【中文标题】如何使用 AWS Redshift 执行 Bash 脚本【英文标题】:How can I execute a Bash Script with AWS Redshift 【发布时间】:2022-01-21 15:20:09 【问题描述】:

我是 Redshift 的新手,也是 AWS 的初学者。我有一个 Redshift 集群,我需要执行一个 bash 脚本——其中运行了一些 SQL。 有什么方法可以在我的 Redshift 集群上执行我的 Bash 脚本吗?我希望能够连接到 Redshift 集群,执行 Bash 脚本和集群内部的所有 SQL。

我可以通过 Lambda 做到这一点吗?一些细节将不胜感激。

【问题讨论】:

【参考方案1】:

Amazon Redshift 是一个数据库。您可以通过 JDBC 或 Redshift Data API 连接到它,然后对数据库运行 SQL 命令。但是,它不是一个计算平台。

虽然 Amazon Redshift 确实能够运行 stored procedures,但无法运行 bash 脚本。

您需要在计算平台(例如 Amazon EC2 实例或您自己的计算机)上运行脚本,并且它可以“调用”Amazon Redshift 集群来运行 SQL。

AWS Lambda 可以运行 bash 脚本,但您需要进行一些设置来支持它。您最好重写代码以使用本机支持的语言。

【讨论】:

【参考方案2】:

如果您想使用 bash 脚本,这可以通过 lambda 实现。但是,如果您只想执行 sql,请将这些 sql 包装在 .sql 脚本中,并使用 Redshift 查询调度程序通过手动调度运行或 cron 作业调度运行来调度这些

【讨论】:

如何使用 Lambda 进行 bash?有什么 github 项目或在线资源可以指点我吗??

以上是关于如何使用 AWS Redshift 执行 Bash 脚本的主要内容,如果未能解决你的问题,请参考以下文章

如何从 SQL 脚本执行 AWS S3 到 Redshift Copy 命令?

如何在 AWS Redshift 中执行按位 OR 和 NOT 标量运算?

如何检查是不是存在 aws redshift 表

如何将 redshift 数据库连接到在 ec2 实例上运行的 bash 脚本

如何在 aws redshift 中删除 NaN

如何让现有用户成为 AWS Redshift 中的超级用户