hsano.jp

Note from daily life.

Kinesis Firehoseの失敗談を JAWS DAYS 2019 で紹介しました

Posted at — Feb 23, 2019

イベント

JAWS DAYS 2019

Kinesis Stream に流れてくるリアルタイムデータを、従来はElastic Beanstalk上で動くワーカーを用いてS3に格納、その後バッチ処理でRedshiftにロードしていました。 この流れを、Kinesis Firehoseに置き換え、バッチロードもAzkabanからFirehoseの自動処理に切り替えました。

ところが、Lambdaの障害で1億レコードの内数件が、JSONが途中で切れるという事象が発生し、Redshiftへのロードが軒並みエラーとなりました。 Redshiftへのロードは、1,000ファイル分を1つのmanifestファイルに束ねたものを、COPYコマンド一発で行う仕組みなので、数件の破損レコードがあるだけでも全体がエラーします。 問題のレコードを含むファイルを特定したものの、レコードを復元することができず復旧に苦労しました。

この発表はランチセッションでした。

資料

comments powered by Disqus