我有一系列的10個查詢〜要每隔一小時自動執行的紅移(也許報告成功/失敗)。如何在Amazon Redshift上執行預定的SQL腳本?
大多數查詢都在我的表的聚集。
我一直在使用AWS LAMBDA與CloudWatch Events試過,但lambda函數只能存活最長5分鐘,我的查詢可能需要長達25分鐘。
我有一系列的10個查詢〜要每隔一小時自動執行的紅移(也許報告成功/失敗)。如何在Amazon Redshift上執行預定的SQL腳本?
大多數查詢都在我的表的聚集。
我一直在使用AWS LAMBDA與CloudWatch Events試過,但lambda函數只能存活最長5分鐘,我的查詢可能需要長達25分鐘。
這是一種奇怪的是,AWS不提供一個簡單的分佈式的cron式服務。這對許多事情會有用。有SWF,但定時/調度方面留給用戶。您可以使用Lambda/Cloudwatch來觸發SWF事件。爲了得到像活動一樣合理的cron,這是一個很大的開銷。
像評論說,最簡單的方法是運行一個小實例和主機cron作業存在。使用1的自動縮放組來獲得一定的可靠性。類似但更復雜的方法是使用elastic beanstalk。
如果你真的想要冗餘,可靠性和可見性等,可能需要查看third party solution,如Airflow。根據您的偏好語言,還有許多其他人。
這裏的similar question有更多信息。
我過去也有同樣的問題,
你可以使用R或Python。
我使用R,你可以安裝包RpostgreSQL並連接到您的紅移 附件中的例子:
drv <- dbDriver("PostgreSQL")
conn <-dbConnect(drv,host='mm-stats-1.ctea4hmr4vlw.us-east-1.redshift.amazonaws.com',port='5439',dbname='stats',user='xxx',password='yyy')
,然後就可以構建降價報告,然後用crontab中的任務調度進程。
另外我用mailR包發送報告給其他用戶
cronjob在EC2實例上? –