PyData Tokyo Meetup #2 - 新しいデータ解析インフラに参加してきました!
以下は聴講しながらまとめたメモなので,特にまとまってないです.
※PyData Tokyo自体については,以下のページを参照して下さい.
http://pydatatokyo.connpass.com/
内容
Amazon Kinesisの紹介と使いどころ
Amazon Kinesisはハイボリュームな連続したデータをリアルタイムで処理可能なフルマネージドサービスです.
- ユースケース
- サービスやシステムのリアルタイム状況把握
- 異常検知 (e.g. 不正アクセス検知)
- サービス向上 (e.g. ソーシャルデータを用いたリアルタイムサービス,直近の行動に基づくレコメンデーション)
- 構成
- Streamを作成し,Streamは,1つ以上のShardで構成される
- Shardは,データ入力側 1MB/sec,1000 TPS,データ処理側 2MB/sec,5TPSのキャパシティを持つ
- PutRecord APIでデータ入力が可能 (Pythonももちろん利用できる(boto))
- パーティションキーを基にShardに分配するので,Shardingはパーティションキーの設計が肝
- KinesisがStream内でユニークなシーケンス番号を付与するので,シーケンス番号でデータが何回でも取得できる(24時間以内なら → 今後より柔軟に時間設定が出来るようになるかも)
- GetShardIteator APIでShard内のデータを取得し,GetRecords APIでデータ入力が可能
Kinesis Client Library (KCL) が Python に対応した話
-
Kinesis Client Library for Python
- KCL for Javaの'MultiLangDeamon'を常駐プロセスとして利用し,データ処理のメインロジックをPythonで記述できる
- データ処理は,サブプロセスとして起動される
- 'MultiLangDaemon'とサブプロセス間のデータ通信は,定義されたプロトコルでSTDIN/STDOUTを使って行われる
AWS+Jubatusの話が個人的には興味深かったです.
AWS re:Inventでは機械学習にフォーカスした話がそんなになかったので,今回の話でかなり期待度が上がりました.
PyData NYC からのハイライト
PyData NYC 2014に行ってきた話です.
- どういう風にPythonを使ってビッグデータを扱っていくのか
- PySparkが凄く熱かったらしい
- データとオペレーションを分離する
- DBへのインタフェースを統一
- Mongoから取り出したデータをSparkに入れたり
- Advanced Scikit-Learn: かなり分厚いチュートリアル
-
Beaker Notebook: 様々な言語が同時に使えるNotebook (ローカルで動く)
- Python → JavaScriptで変数を渡せたりする
SymPyの話がかなり面白かったです.Python → Fortranとか需要があるんですかね?
実はまだ使ったことないんですがCaffeが凄く面白そう.使ってみよう.
感想
今回初参加だったんですが,PyDataすごく好きなので楽しかったです\(^o^)/
自分の業務にも生かせそうな話が多く,色々試してみようと思います.
そしてPyData NYC,いつか行きたい.
また次回以降のイベントにも参加させて頂きたいと思いますmm ありがとうございました!
さてこれから懇親会なので飲んできます!