LoginSignup
2
1

More than 3 years have passed since last update.

AWS認定Big Data勉強記 - 8: Amazon Kinesis

Posted at

こんにちは、えいりんぐーです

今回は Amazon Kinesis についてまとめます。

一口に Kinesis といっても、 Data Streams, Data Firehose, Data Analytics など特性の異なるサービスがあるのでそれぞれ別記事にしたいと思います。
ひとまずここでは、それぞれの概要と参考記事を集めます。

参考資料

Amazon Kinesis Data Streams

Q: Amazon Kinesis Data Streams とは何ですか?

Amazon Kinesis Data Streams を使用すると、特定のニーズに合わせてストリーミングデータを処理、分析するカスタムアプリケーションを構築できます。クリックストリーム、アプリケーションログ、ソーシャルメディアなどのさまざまなタイプのデータを何十万ものソースから Amazon Kinesis データストリームに連続して追加できます。ほんの数秒後には、Amazon Kinesis アプリケーションで、ストリームからデータを読み取って処理できます。

概要
  • データ種類や処理に応じてストリームを作成。
    • ストリームには1つ以上のシャード。
    • 保存されるデータをデータレコードと呼ぶ。
      • 1データレコードのサイズは1MBまで
    • 保存期間はデフォルトの24時間から7日
    • 送信側キャパシティは秒あたりシャードあたり1MBまたは1,000PUT
    • 処理側キャパシティは秒あたりシャードあたり2MBまたは5回のリードトランザクション
  • パーティションキーでシャードへ分散。
    • レコードにはシーケンス番号をアサインする。
    • シーケンス番号でアクセスできる。
  • Kinesis Agent
    • Kinesisにデータを送るOSSのJavaアプリ。
      • モニタするファイルパターンや送信先を指定できる。
      • ファイルのローテート処理や失敗時の再試行を管理できる。
      • フォーマット変換やログパースなどの前処理も提供。
      • Streams と Firehose への送信が可能
  • KPL
    • Kinesisにデータを送るOSS。
      • 複数のデータを1レコードにするAggregationや複数レコードをバッファリングするCollectionが可能。Fluent pluginもある
  • KDG
    • テストデータを送信できる。HTML/JavaScriptのOSS。
  • KCL
    • EC2インスタンスなどにデプロイして利用。
    • Record Processor Factory, Record Processor (シャードから取り出したデータを処理するプロセッサの単位), Worker (個々のアプリケーションインスタンスとマッピングする処理単位)といったコンポーネントからなる。

Amazon Kinesis Data Firehose

ストリームデータをS3, Redshift, ESへ配信する。簡単。バッチ処理・圧縮・暗号化が行える。

Q: Amazon Kinesis Data Firehose とは何ですか?

Amazon Kinesis Data Firehose は、ストリーミングデータをデータストアや分析ツールにロードする最も簡単な方法です。ストリーミングデータをキャプチャして変換し、Amazon S3、Amazon Redshift、Amazon Elasticsearch Service、Splunk にロードして、現在お使いのビジネスインテリジェンスツールやダッシュボードでほぼリアルタイムに分析できます。フルマネージドサービスのため、データスループットに応じて自動的にスケールされ、継続的な管理は不要です。ロード前にデータのバッチ処理、圧縮処理、暗号化が行われるため、送信先でのストレージ量を最小化し、セキュリティを強化できます。

概要
  • 送信側からはエンドポイントで接続する。
  • 配信先に応じて配信ストリームを作成する。
  • シャード作成やパーティションキーの指定は不要。
  • データレコードの最大サイズは1MB。
  • オートスケールする。
  • StreamsからFirehoseに直接データを送れる。

Amazon Kinesis Data Analytics

Q: Amazon Kinesis Data Analytics とは何ですか?

Amazon Kinesis Data Analytics は、ストリーミングデータの分析、実用的なインサイトの取得、ビジネスやお客様のニーズへのリアルタイムでの対応を最も簡単に行えるサービスです。Amazon Kinesis Data Analytics を利用すると、ストリーミングアプリケーションを構築し、管理し、AWS のサービスと統合する作業がシンプルになります。一般的な処理関数のための組み込みのテンプレートや演算子を利用し、SQL クエリと高度な Java アプリケーションを簡単に構築し、あらゆる規模のデータを整理、変換、集計、分析できます。

概要
  • 分析単位でアプリケーションを作成する。
    • 入出力のストリーミングソース・デスティネーションを設定。
  • クエリの前処理としてLambdaを設定可能。
    • Lambdaはデータレコードの補完や返還に利用できる。
      • Ok: 前処理成功。
      • Dropped: 意図的なレコードの排除。
      • ProcessingFailed: 前処理失敗。エラーストリームへ流れる。
  • SQLを記述。
  • 1行の最大サイズは50KB。
  • 参照ソースの最大サイズは1GB
    • 外部参照テーブルとはジョインしたり、データレコードの補完に利用したりできる。
  • ウィンドウで問い合わせができる。
    • タンブリングとスライディング。
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1