2017-03-16 9 views
3

私はこのようになりますS3におけるORCのデータがあります。AWS Athena:「msck修理テーブル」に費用がかかりますか?

s3://bucket/orc/clientId=client-1/year=2017/month=3/day=16/hour=20/ 
s3://bucket/orc/clientId=client-2/year=2017/month=3/day=16/hour=21/ 
s3://bucket/orc/clientId=client-3/year=2017/month=3/day=16/hour=22/ 

私はORCにS3で生のJSONに変換EMRジョブを実行するすべての時間を、そしてアテナのパスパーティション大会(上記)とそれを書き出します摂取。 EMRジョブが完了したら、msck repair tableを実行して、Athenaが新しいパーティションを取得できるようにします。

私は3つの関連の質問がある:

  1. は、このシナリオでmsck repair tableを実行し、AWSで私にお金がかかりますか?
  2. AWS Docs saymsck repair tableタイムアウトが発生する可能性があります。正常に完了するまでこのコマンドを実行し続けるために、データパイプラインの一歩を踏み出す方法はありますか?
  3. Athenaにパーティションを手動で追加することをお勧めします(私が作業している年月日を知っているので)。しかし、私はclientIdを知りません。なぜなら、それらの1-Xが存在する可能性があり、EMR実行時に存在するものがわからないからです。この問題を解決するベストプラクティスの方法はありますか(Hiveなどを使用して)?私はs3://bucket/org/のリストを取得し、リストを反復して手作業で追加するコードを書くためにs3 API呼び出しを行うことができました。私は、もっと簡単な方法があると期待して...

注意しています:

ALTER TABLE <athena table> 
ADD PARTITION (clientId='client-1',year=2017,month=3,day=16,hour=20) 
location 's3://bucket/orc/clientId=client-1/year=2017/month=3/day=16/hour=20/'; 

答えて

1

AWS says

私は、 "手動でパーティションを追加" と言うとき、私はこのような何かをやって意味しますDDLクエリやパーティション検出には無料です。

AWS says

S3 GET料金が適用されます

msck repair tableの自動化の仕組みがまだわかりません。

関連する問題