2017-03-02 10 views
3

Redshiftで1時間ごとに自動的に実行される〜10個のクエリがあります(おそらく成功/失敗を報告します)。Amazon RedshiftでスケジュールされたSQLスクリプトを実行するには?

ほとんどのクエリはテーブルの集計です。

AWSラムダをCloudWatch Eventsで使用しようとしましたが、ラムダ関数は最大5分間しか生存せず、クエリには最大25分かかることがあります。

+1

EC2インスタンスのcronjob? –

答えて

2

AWSが単純な分散型cronスタイルのサービスを提供していないのは珍しいことです。それは非常に多くのことに役立つだろう。 SWFがありますが、タイミング/スケジューリングの面はユーザーに任されています。 Lambda/Cloudwatchを使用してSWFイベントをトリガーすることができます。それは、合理的なcronのような活動を得るためのオーバーヘッドです。

コメントのように、最も簡単な方法は、小さなインスタンスを実行し、そこでcronジョブをホストすることです。信頼性のために1のオートスケールグループを使用してください。同様の、より複雑なアプローチは、elastic beanstalkを使用することです。

実際に冗長性、信頼性、可視性などを望む場合は、third party solutionAirflowのように見てみる価値があります。あなたの好みの言語に応じて多くのものがあります。

詳細はsimilar questionです。

1

私はあなたがそのためにRやPythonを使用することができ、過去に

を同じ問題を抱えていました。

は、私はあなたがパッケージRpostgreSQLをインストールして、赤方偏移 添付の例に接続することができ、Rを使用:

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パッケージを使用して他のユーザーに報告します

関連する問題