如何使用 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 标量运算?