% cd /opt/cloudera/parcels/CDH-4.5.0-1.cdh4.5.0.p0.30/lib/flume-ng/lib
% ls -lF twitter*
-rwxr-xr-x 1 root root 283752 Nov 21 11:07 twitter4j-core-3.0.3.jar*
-rwxr-xr-x 1 root root 27690 Nov 21 11:07 twitter4j-media-support-3.0.3.jar*
-rwxr-xr-x 1 root root 56262 Nov 21 11:07 twitter4j-stream-3.0.3.jar*
これだけで終わってもいいのですが折角なので混乱を招くのではないかと思うTwitterSource.javaについて書いておきます。
世の中には2つのTwitterSource.javaがある
- https://github.com/cloudera/cdh-twitter-example で提供されるもの
- Flume-NGの機能として提供されるもの
- CDH 4.5に入っているのはこれ。CDH 5にも入るハズ
cdh-twitter-example版
- com.cloudera.flume.source.TwitterSource
- TwitterのSample APIを叩く
- 指定されたキーワードを含むものが取得できる
- フォーマットはいじらずに後段に流す
コードからコメント抜いてくるとこう書いてある:
/**
* A Flume Source, which pulls data from Twitter's streaming API. Currently,
* this only supports pulling from the sample API, and only gets new status
* updates.
*/
Flume-NG版
- org.apache.flume.source.twitter.TwitterSource
- TwitterのStreaming APIを叩く
- Firehoseで取得できるものの1%がサンプリングされるらしい
- Avroフォーマットにして後段に流す
コードからコメント抜いてくるとこう書いてある:
/**
* Demo Flume source that connects via Streaming API to the 1% sample twitter
* firehose, continously downloads tweets, converts them to Avro format and
* sends Avro events to a downstream Flume sink.
*
* Requires the consumer and access tokens and secrets of a Twitter developer
* account
*/
まとめ
早い話がClouderaが作ったTwitterSource便利だからApache Software Foundationに寄贈してFlume-NGに取り込まれたけどちょっと機能が変わってますね、ということでした。
0 件のコメント:
コメントを投稿