7. Kafka Connect
l Kafkaとデータをやりとりするためのフレームワーク
l Kafkaの0.9より導⼊された機能でKafkaへのIn/Outが実装可能
l http://www.slideshare.net/keigosuda/apache-kafka-kafka-connect-
etl-70167024
l 設定ファイルベースで挙動をコントロール
l コネクタアプリさえ作ればあとは設定ファイルで操作
l S3へのSinkコネクターは以下
l https://github.com/qubole/streamx
l https://github.com/DeviantArt/kafka-connect-s3
10. 実⾏例(スタンドアローンの例)
l 設定ファイルを引数に指定して起動コマンドを実⾏
l 第1引数: Kafka Connect⾃体の設定ファイル
l 第2引数: コネクタ固有の設定ファイル
bin/connect-standalone.sh ¥
config/connect-standalone.properties ¥
streamx/config/quickstart-s3.properties
11. 所 感
l streamx
l Confuluentのkafka-connect-hdfsをフォークしている
l だからいろんなファイルフォーットでの書き出し対応しているのをウリにしている
l サンプルにあったテキストでS3に書き出す例は問題なく動く
l が!!肝⼼なそれ以外のやり⽅がわからない(え、またソース追うんすか・・・)
l kafka-connect-s3
l テキスト出⼒しか対応していないため作り⾃体はシンプル
l ちゃんとflush()とかonPartitionsAssigned()とか実装している
l が!!Kafka 0.9系しか対応してない
15. 使い⽅
l 以下を起動時の引数に指定して実⾏
l secor_group・・・S3に書き出す際のまとめかた
l log4j.configuration・・・ログ(log4j)の設定
l Config・・・Secor⾃体の設定
l 実⾏クラス・・・実⾏するクラス
java –ea ¥
-Dsecor_group=secor_backup ¥
-Dlog4j.configuration=log4j.prod.properties ¥
-Dconfig=secor.prod.backup.properties ¥
-cp secor-0.1-SNAPSHOT.jar:lib/* ¥
com.pinterest.secor.main.ConsumerMain