[英]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.