Amazon Kinesis編~KCL for Pythonを使ってみる01~

Pocket

前回は『Amazon ECS編~ECSを使ってみる03~』と題して、Amazon ECSでコンテナの入れ替えを試してみました。

今回は『Amazon Kinesis編~KCL for Pythonを使ってみる01~』と題して、Kinesis Client Library for Pythonを試してみたいと思います。

Kinesis Client Library for Pythonとは

Amazonから提供されているKinesis Client Library(KCL) のPython版です。
Amazon Kinesisからのデータ取得、ロードバランシングや可用性を高める機能などは、KCL for Javaを利用している構造となっており、その後の処理をPythonで記述する事が可能です。
Amazon KCL for Python

1.環境の準備
KCLで使う環境を準備しておきます。
先ずはKinesisとDynamoDBにアクセス出来るEC2を用意しておきます。

次にKinesisを作成しておきます。

2. KCL for Pythonのインストール
virtualenvを利用してKCL for Pythonをインストールしてみます。

virtualenvを有効にします。

KCL for Pythonをインストールします。

これでインストールは完了です。

3.サンプルをダウンロードしてみる
公式のサンプルをダウンロードしてみます。

サンプルのファイルは以下になります。

sample.properties
KCL に関する設定ファイル。
今回は以下の部分を環境にあわせて変更しておきます。

sample_kclpy_app.py
KCL for Pythonで処理を記述するサンプル。

sample_kinesis_wordputter.py
Kinesisに対してサンプルのデータをプットするスクリプト。

amazon_kclpy_helper.py
KCL for Pythonを実行するためのコマンドを生成してくれる。

amazon_kclpy_helper.pyを利用してコマンドを生成してみます。

実際に生成されたコマンドを実行してみます。
以下の様に情報がどんどん更新されていきます。

topコマンドでもプロセスを確認出来ます。

また、管理用のDynamoDBが作成されているのが分かります。

いかがでしたでしょうか?
次回は『Amazon Kinesis編~KCL for Pythonを使ってみる02~』と題して、Kinesis Client Library for Pythonで実際にレコード処理の記述を試してみたいと思います。

お楽しみに!!!