Announcing General Availability of Power BI Real-Time Streaming Datasets - Power BI Blog
今年の1月にPower BIブログでストリームデータセットがGAされたというアナウンスがありました。もともとリアルタイム系の分析には別の製品を使おうとしていたのですが、PowerBIで手軽にできるならそれはそれでいいだろうと思いまして、やってみました。
というか、以下のビデオに感銘を受けまして、これはやらねばと気になりました。
Power BI and Azure Stream Analytics demo by Amir Netz
やばいですね。去年話題になったAdobeのロングヘアエヴァンジェリスト(彼はもともとアーティストのようですが)のパフォーマンスに匹敵するステージパフォーマンスで客をあおる姿にPowerBIの盛り上がりを感じましたww
(というかこれ2年前なんですね。)
詳しくは動画を見てください。英語わからなくても何をやっているかは一目瞭然です。
Event Hub -> Stream Analytics -> Power BI
この3つをつなぐとリアルタイム監視ダッシュボードがすぐできます。
Stream Analyticsのページに非常に良い教材で、すんなり構築ができました。
ソーシャル メディア分析: Azure Stream Analytics での Twitter センチメントのリアルタイム分析
Event Hub
Event Hubを一つ作ります。コンシューマーグループというものを作成しなければならないようです。デフォルトのものでやろうとしてもうまくいきませんでしたので、素直に作りましょう。
上記の解説ページにリンクのあるTwitterから検索結果を取得してEvent Hubになげるプログラムを立ち上げます。準備のためにTwitter APIのキーやEvent Hubの接続文字列などが必要なので、準備します。キーワードなどは好きなもの(日本語でも)を設定ファイルで指定できるので、好きなアイドルの名前でも入れてみましょう。F/Wにひっかかってうまくいかない場合は適切な接続に切り替えるとよいと思います。
Stream Analytics
上記Event Hubを入力として受け取る、Stream Analyticsジョブを作成します。クエリーなどを書いて、各種加工が可能です。PowerBIに出力することを考えると、あまりここで加工する必要はないと思われるかもしれませんが、現状ストリームデータセットに対するPowerBIクエリーはかけないことになっており、なるべくここで加工しておいたほうが良いです。
入力にイベントハブを、出力にPowerBIをそれぞれ選択して終わりです。
今回はサンプルそのままのクエリーです。右から左へ受け流しているだけですね。TUMBLINGWINDOWの設定で出力周期を選べますので、ツイートの頻度などから適当に設定します。
Power BI
上記までのパイプラインを作成してデータを流し込むと、PowerBI側に以下のようなデータセットが作成されます。これで、レポートや、ダッシュボードを作成できます。あとは普通のデータセットと同じですね。