LoginSignup
35
33

More than 5 years have passed since last update.

【ハンズオン資料】twitterのデーターを取得し、Apache Sparkによる感情分析

Last updated at Posted at 2015-12-10

■ Bluemix x Apache Spark ハンズオン資料

・Bluemix新規登録(30日間、無料枠あり)
 Bluemix新規アカウント取得はこちら
 ※ この30日間、Bluemixと連携されている100以上のAPIやIBMのサービスがほとんど無料で使えます。

Open Cloud Innovation Festa 2016を開催します。

2016年9月16日(金)- 2016年9月17日(土)、二日間電気通信大学にて技術カンファレンス「Open Cloud Innovation Festa 2016」を開催いたします。

★ 今「旬」のテクノロジーや革新的なサービス一挙ご紹介 ★
 オープンイノベーションを支える国内外の最新事例を始め、最先端の技術を活用しサービスを展開している企業やコミュニティの皆さまより、全32セッション(クラウド・ロボティックス・IoT・DevOps・ビックデーターなど)が予定されています。
 インフラエンジニアも、開発エンジニアも、営業の方も、そうでない方も、クラウドを活用した、最新のサービスやテクノロジーに興味のある方ならどなたでも参加していただけます。イベント開催の二日間、今「旬」のテクノロジーやビジネスをお楽しみください。

・イベント申し込みはこちら
 http://softlayer.connpass.com/event/34524/
・セッションの詳細や協力企業はこちら
 http://open-cloud-innovation-festa.com/

ハンズオンで使うサービス

スクリーンショット 2015-12-09 15.59.16.png

・Apache Spark - https://console.ng.bluemix.net/catalog/services/apache-spark/
・Tone Analyzer - https://console.ng.bluemix.net/catalog/services/tone-analyzer/
・Object Storage - https://console.ng.bluemix.net/catalog/services/object-storage-v1/
・Twitter App - https://apps.twitter.com/
・jupyter - http://jupyter.org/

ハンズオン手順

・Twitter Application作成
・Spark用notebook入手
・Tone Analyzer作成
・BluemixのSpark設定(追加)

Twitter Application生成

まず、最初に今回のハンズオンで使用するtwitterデーターを取得するため、Twitter Appを生成し、そのAppのアクセスキーを入手します。
※ Twitterのアカウントをお持ちではない方は、この手順を実施せず次の「sparkの追加」に移動してください。

・Twitterログイン後、下記のURL実行
https://apps.twitter.com/
スクリーンショット 2015-12-08 14.00.39.png

下記の画面にて、Twitter Apps情報を入力し、APIを生成します。
Website URLは、Bluemixランタイムで構築されたアプリのURLでも良い。
スクリーンショット 2015-12-08 15.04.12.png

生成されたTwitter API アクセス情報を確認

① Twitter API 初期画面から「Keys and Access Tokens」タブに移動
② Consumer Key (API Key)とConsumer Secret (API Secret)を確認
③ 「Create my access token」をクリックし、トークン生成
スクリーンショット 2015-12-08 15.13.57.png

生成されたトークンが確認できます。
スクリーンショット 2015-12-08 15.17.46.png

ここまで進んだら、下記の4つのキーをメモ帳などにコピーペーしてください。
・Consumer Key (API Key)
・Consumer Secret (API Secret)
・Access Token
・Access Token Secret

spark用のサンプルnotebookを入手

下記のリンクに接続してください。
https://github.com/ibm-cds-labs/spark.samples/tree/master/streaming-twitter/notebook

※ 下記の手順に従って「Twitter + Watson Tone Analyzer Part1.ipynbとTwitter + Watson Tone Analyzer Part2.ipynb」をそれぞれ実施(2回実施)してください。結果物として、2つ(Part1とPart2)の「ipynb」ファイルが入手できます。

① Twitter + Watson Tone Analyzer Part1(2).ipynbをクリック
② Rawをクリック
③ ページを別名で保存
※ ダウンロードされたファイルの拡張子が「ipynb」かを確認し、
 違う場合は拡張子を「ipynb」に変更
スクリーンショット 2015-12-08 16.53.28.png

下記のようにローカルに「ipynb」ファイルがあれば次に進みましょう。
スクリーンショット 2015-12-10 10.08.33.png

Tone Analyzer作成

① カタログ
② 「Bluemix Labs Catalog」クリック(カタログ画面の一番下)
③ 検索バーにて「tone」を入力
④ Tone Analyzer選択
スクリーンショット 2015-12-08 16.01.18.png

・Tone Analyzerのアクセスキー情報を取得
① 情報確認の後、「作成」クリック
② サービス資格情報クリック
③ 資格情報が表示されたら、下の3つの情報をテキストエディターなどにコピーペー。
 ・url
 ・username
 ・password
スクリーンショット 2015-12-08 15.57.13.png

sparkの追加

① カタログ → ② 検索バーに「spark」入力 → ③ Apache Spark選択
スクリーンショット 2015-12-08 13.39.12.png

Spark作成

① Sparkの情報(スペース・アプリ・サービス名・資格情報名・プラン)を確認し
 「作成」クリック、それぞれの情報は変更可能だが、デフォルトでも良い。
② 「ダッシュボード」へ移動
③ 作成済みの、「Apache SparkとTone Analyzer」が確認できる。
スクリーンショット 2015-12-08 16.17.27.png

Sparkの設定を始める

※ 上記の画面(ダッシュボード)の「Apache Spark」をクリック
①「OPEN」をクリック
② 先ほど追加されたSparkのサービス名をクリック(今回は、Apache Spark-2p)
スクリーンショット 2015-12-08 20.31.35.png

Object Storageを追加

① Object Storage クリック
② Add Object Storage クリック
③ New → 内容入力
 ・Space情報などに間違いがあるかを確認してください。
 ・3番目の項目「Select Plan ~」では、「Free」を選択します。
④ 内容確認後、CREATE クリック
⑤ 生成された「Object Storage」が確認できる。
スクリーンショット 2015-12-08 20.40.15.png

jupyter Notebookを作成

Notebookに設定する、TwitterやTone Analyzerのキーセット作成

スクリーンショット 2015-12-09 17.03.35.png

・下記のテキストをコピーペーして、「XXXXX」の部分を埋めてください。
val demo = com.ibm.cds.spark.samples.StreamingTwitter
demo.setConfig("twitter4j.oauth.consumerKey","XXXXX")
demo.setConfig("twitter4j.oauth.consumerSecret","XXXXX")
demo.setConfig("twitter4j.oauth.accessToken","XXXXX")
demo.setConfig("twitter4j.oauth.accessTokenSecret","XXXXX")
demo.setConfig("watson.tone.url","XXXXX")
demo.setConfig("watson.tone.password","XXXXX")
demo.setConfig("watson.tone.username","XXXXX")

Notbook1を作成

※ 注意
Notebookの実行は、一行の処理が終わってから次に進みましょう。
処理が行なわれている間は、「[数字]」の部分が「*(アスタリスク)」になり、処理が終わったら数字に変わります。

① My Notebooksをクリック
② NEW NOTEBOOKをクリック
③ From Fileをクリック
④ Neme 入力
⑤ ファイルを選択で、先ほど「spark用のサンプルnotebookを入手」で
 作成した「Twitter + Watson Tone Analyzer Part1.ipynb」を選択。
⑥ CREATE NOTEBOOKをクリック
スクリーンショット 2015-12-08 20.51.07.png

上記の作業を完了すると、下記のNotebook画面が表示されます。
① 「PLAY」アイコンで1行ずつ、実行していきます。
 「STOP」アイコンで実行を止めることができます。
② 上記の「Twitter Application生成」で生成された、Twitterのアクセスキーと「Tone Analyzer作成」で生成された、Tone Analyzerのアクセス情報を設定します。
③ コードに設定されている時間間データーを取得するので、処理が終わるまで待ちます。
 この部分は、TwitterStreamからデーターを取得します。
 処理の途中に「*(アスタリスク)」が数字に変わり、処理が終わっているように
 見えるが、最終的に検索されたデーターの件数が表示されるので、検索データーの数字が
 出力されるまで待っていてください。
 処理が終わっていない状態で次に進むとエラーになるので要注意です。

スクリーンショット 2015-12-08 20.59.36.png

・Notebook1では、Object Storageにデーターを保存します。
① 「tweetsFull.parquet」のファイル名で保存する。(変更可)
② 保存されたファイル(データー)をセレクトしてみます。
③ Object Storageにデーターがどのように生成されているのかを確認してみましょう。
 「ダッシュボード」をクリックします。
④ Object Storageをクリック
⑤ Notebook1で生成した、ファイル名で「Notebook」が保存されているのが確認できる。

スクリーンショット 2015-12-10 11.03.52.png

Notebook2を作成

手順は、「Notebook1を作成」と同じですが、手順⑤のファイル選択で「Twitter + Watson Tone Analyzer Part2.ipynb」を選択してください。
Notebook2では、「Notebook1」で入手されたデーターを使ってデーターを可視化します。
「Notebook1」と同じく一つずつ実行していてください。Notebookのクエリなどを変えながら実行していくと、違う形のグラフを表示することができます。

スクリーンショット 2015-12-09 17.17.05.png

Bluemixコミュニティ

※ Bluemixに関する技術関連情報や最新情報、イベント告知、Bluemixユーザーコミュニティの皆さんからの最新記事などを配信しています。
下記のリンクから「Bluemix」の「今」をフォローできます!

・Facebook : Bluemixユーザーグループ
・Qiita : Bluemix Qiitaページ
・Slack : Bluemix User Group(BMXUG)の交流用
・stackoverflow : stackoverflow(コミュニティQ&A)
・Twitter : @ibm_ecod_japan

35
33
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
35
33