[英]AWS: Automating queries in redshift
我想自动化每天运行的 redshift 插入查询。
我们实际上使用的是 Aws 环境。 有人告诉我使用 lambda 不是正确的方法。 哪个是在 Redshift 中自动执行查询的最佳 ETL 过程。
要在 Redshift 上自动化 SQL,您有 3 个选项(至少)
简单 - cron使用 EC2 实例并在其上设置一个 cron 作业来运行您的 SQL 代码。
psql -U youruser -p 5439 -h hostname_of_redshift -f your_sql_file
功能丰富 - Airflow(推荐)如果您有一个复杂的计划要运行,那么值得花时间学习和使用 apache 气流。 这也需要在服务器(ec2)上运行,但提供了很多功能。
AWS 无服务器 - AWS 数据管道(不推荐)
https://aws.amazon.com/datapipeline/
Cloudwatch->Lambda->EC2 方法由 John Rotenstein 描述如下,当您希望以 AWS 为中心时,这是一个很好的方法,它比拥有一个专用的 EC2 实例便宜。
一种选择:
Terminate
。sudo shutdown now -h
来关闭和终止实例EC2 实例将仅按每秒计费。
Redshift 现在原生支持计划查询: https : //docs.aws.amazon.com/redshift/latest/mgmt/query-editor-schedule-query.html
您可以使用 boto3 和 psycopg2 通过创建 python 脚本并将其安排在 cron 中每天执行来运行查询。
您还可以尝试将您的查询转换为 Spark 作业,并安排这些作业每天在 AWS Glue 中运行。 如果你觉得很难,你也可以查看 Spark SQL 并试一试。 如果您要使用 Spark SQL,请记住内存使用量,因为 Spark SQL 是非常占用内存的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.