Streamingです(笑)。そのうちKafkaに手を出してみたいなぁと思いつつも、ここはいったん簡単なものだけ試してみることにしました。spark-streaming-twitterを使って、Twitterからツイートを読み出してみようと思います。Sourceshttp://spark.apache.org/docs/latest/streaming-programming-guide.html#advanced-sources「spark-streaming-twitter」を使うと、TwitterからStreamingして読み出し続けられる、と。中身は、どうやらTwitter4Jを使っているみたいです。具体的には、「twitter4j.TwitterStream」です。Countしてみたいと思います。"5.2.1")「spark-streaming-twitter」はもちろん必要ですが、「spark-streaming」も明示的に追加する必要があります。sbt-assemblyも使います。"5.2.1")assembly時にClassが衝突してしまったからです...。/path/to/.ivy2/cache/org.spark-project.spark/unused/jars/unused-1.0.0.jar:org/apache/spark/unused/UnusedStubClass.classどうも、「org.apache.spark.unused.UnusedStubClass」というクラスが、「org.spark-project.spark/unused」というアーティファクトと「org.apache.spark/spark-streaming-twitter」の両方に含まれてしまっているようです。「spark-streaming-twitter」から除去しましたよ、と。Countには、LuceneのKuromojiで形態素解析します。プログラムを書くそれでは、TwitterからStreamingしてみるプログラムを書いてみます。}}Streaming時のクエリ(ツイートの絞り込み)は、起動引数でもらうようにしました。filter)ここでのクエリは、Twitter4JのFilterQueryクラスに渡されます。Countの部分は省略。今回は、結果をローカルディスクに書き出すようにしました。.saveAsTextFiles("output/tweet")ここまでやったら、Streaming開始のコードを書いておしまい。ssc.awaitTermination()Twitter4Jを使うので、各種Key等が必要です。今回は、twitter4j.propertiesに書きました。assemblyJARファイルを作成。0:30:25ここまでで、準備完了です。実行するそれでは、実行してみましょう。キーワードは、とりあえずトレンドから選んでみますか。今回は、「#あなたがリア充になれない理由ベスト10」とします。'#あなたがリア充になれない理由ベスト10'走り出したジョブは、ずっと続くので適当にCtrl-Cで止めてください。part-00003なんか、ファイルができています。一応、できてるっぽいです。Kuromojiではなくて、mecab-ipadic-NEologdを適用したバージョンで行ってみましょう。mecab-ipadic-NEologdは、20150817日付の版を使っています。Kuromojiを外します。Kuromojiを放り込みます。/path/to/lib/sbt-assemblyでパッケージング。この時に、自分で入れたKuromojiも一緒にJARに入ります。assemblyもう1度実行。'#あなたがリア充になれない理由ベスト10'結果のうちの、1ファイル。読者になる検索リンクはてなブログブログをはじめる週刊はてなブログはてなブログPro月別アーカイブはてなブログをはじめよう!Kazuhiraさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。