« AWS Black Belt Tech Webinar オンデマンド配信をはじめます | メイン | AWS Black Belt Tech Webinar 「Amazon WorkSpaces」資料公開 »

Amazon Kinesisの集約データをAWS Lambdaで処理する

SA岩永( @riywo )です。AWSのプリンシパルSAのIan MeyersがAWS Big Data Blogに非常に興味深い投稿をしていたので翻訳しました。

特にAmazon Kinesis Streamsを既に使われている方は、Amazon Kinesis Streams to Amazon Kinesis Firehose Forwarderを使うだけでそのストリームをAmazon S3に保管したりAmazon Redshiftにロードする流れがサーバレスに構築できるので強くオススメできます。

使ってみて疑問質問等ありましたら、遠慮無く私までご連絡下さい(日本語で大丈夫です!)。


Amazon Kinesis Streamsへのデータ送信の必要があるアプリケーションの開発をシンプルにするために、昨年我々はAmazon Kinesis Producer Library (KPL)を提供し始めました。多くのお客様が集約をしていて、単一のAmazon Kinesis Streamsのレコードに複数のレコードをまとめて送っています。KPLはイベントの集約を簡単にしてくれますが、ストリームからレコードを処理するときにこの情報を解くという問題は残されたままでした。

このデータを簡単に処理できるようになるAmazon Kinesis de-aggregation modulesを発表できることを嬉しく思っています。モジュールはJava、Python、そしてNode.jsをサポートしているので、KPLで集約されたストリームからAWS Lambdaやmulti-langなKCLアプリケーションを使ってレコードを解くことができます。

また、LambdaベースのAmazon Kinesis Streams to Amazon Kinesis Firehose Forwarderのバージョン1.2.0も同時に提供します。これはストリームから自動的にKPLのレコードを解き、Amazon S3へのアーカイブやAmazon Redshiftへのロードするデリバリストリームに転送してくれます。

原文: https://blogs.aws.amazon.com/bigdata/post/Tx2JKA8KSZSJ5FF/Process-Amazon-Kinesis-Aggregated-Data-with-AWS-Lambda


GitHubのREADMEには画像があって分かりやすいので、こちらにも転載しておきます。

KPLがレコードを集約する動作はこんな感じです。Amazon Kinesis Streamsは1レコード最大1MBまで入るので、なるべく集約して送った方が実効スループットを上げられます。KPLはそれを手助けしてくれます。

Kpl-message-format

そのデータを、de-aggregation moduleが解くのはこういうイメージ。簡単に元々のレコードに分解して処理できます。

Processing

Amazon Kinesis StreamsやAmazon DynamoDB StreamsからAmazon Kinesis FirehoseへAWS Lambdaだけで転送する動作はこんなイメージ。

StreamToFirehose

コメント

Twitter, Facebook

このブログの最新情報はTwitterFacebookでもお知らせしています。お気軽にフォローください。

2018年4 月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30