
このガイドでは、Windows Azure用のApache HadoopベースのサービスとExcelのHiveリクエストを使用して、Twitterデータをクエリ、調査、分析する方法について説明します。 ソーシャルネットワークは、ビッグデータの主なソースです。 したがって、Twitterなどのソーシャルメディアの公開APIは、有用な情報のソースとして機能し、ネットワークの傾向をよりよく理解するのに役立ちます。
このマニュアルは、次のセクションで構成されています。
- Twitter用Microsoft Analyticsの検索、ダウンロード、インストール、使用
- cURLとTwitter Streaming APIを使用してTwitterフィードを取得する
- Windows Azureクラスターで新しいHadoopを要求して構成する
- WindowsクラスターでHadoop上のHiveを使用してTwitterデータを処理する
- ExcelでHive ODBCおよびHiveダッシュボードを構成してHiveデータを取得する
Twitter用Microsoft Analyticsの検索、ダウンロード、インストール、使用
Microsoft Analytics for Twitterは、
http :
//www.microsoft.com/download/en/details.aspx?id = 26213のアドレスからダウンロードでき
ます 。
作業には、Excel 2010アプリケーションとPowerPivotアドインが必要です
。http://www.microsoft.com/download/en/details.aspx? id = 29074からダウンロードできます。
![clip_image004 [4] clip_image004[4]](https://habrastorage.org/getpro/habr/post_images/cb8/632/205/cb8632205c8f71be79613c70d1112e20.jpg)
次のムービータグとアカウントをクエリウィンドウに貼り付けます。
#moneyball、@ MoneyballMovie、@ helpmovie、@ BridesmaidsSay、@ CONTAGION_movie
ボタンを押す
![clip_image006 [4] clip_image006[4]](https://habrastorage.org/getpro/habr/post_images/189/fb5/7e7/189fb57e743c26e531eda2fc228381ba.jpg)
画面上の指示に従います。
ご注意 このセクションではHadoopは使用されません。 以下に、ExcelおよびPowerPivotでTwitter Search APIとセルフサービスビジネスインテリジェンスを使用する方法を示します。
cURLとTwitter Streaming APIを使用してTwitterフィードを取得する
この時点で、curl.exeが必要です。
http://curl.haxx.se/download.htmlで、OSのcurlファイル(64ビットWindows用のバイナリバイナリSSLファイルなど)をダウンロードし
ます。
curl.exeを適切なフォルダー(たとえば、
C:\ twitterdata )に解凍します。
2つのファイル(
twitter stream.cmdと
twitter_params.txtを 取得)を Step2GetTwitterFeedUsingCURLAndTwitterStreamingAPIフォルダーから
curl.exeを含むフォルダーに
コピーします。
twitter_params.txtファイルを次のように変更して、ツイートを追跡します。
track = moneyball、MoneyballMovie、helpmovie、BridesmaidsSay、CONTAGION_movie次の行で、
USERの代わりにTwitterユーザー名、
PASSWORDの代わりにパスワードを挿入して、
get twitter stream.cmdコマンドスクリプトを変更します。
curl -d @ twitter_params.txt -k stream.twitter.com/1/statuses/filter.json -uUSER:パスワード>> twitter_stream_seq.txt次のように、コマンドラインからget
twitter stream.cmdスクリプトを実行します。
![clip_image012 [4] clip_image012[4]](https://habrastorage.org/getpro/habr/post_images/6b2/1c0/a6b/6b21c0a6ba9f50b27e17fe13fd70aabb.jpg)
次の情報が画面に表示されます。
![clip_image014 [4] clip_image014[4]](https://habrastorage.org/getpro/habr/post_images/eb5/4b7/4fe/eb54b74fefd3580935a53e8c93e86806.jpg)
スクリプトを終了するには、
Ctrl + Cを押します
。 その後、ファイルの名前を変更して、スクリプトを再実行できます。
Windows Azureクラスターで新しいHadoopを要求して構成する
この時点で、Windows Azure上のApache HadoopベースのサービスにはCTPアクセスが必要です。
https://www.hadooponazure.com/にアクセスし、
招待リンクをクリックします。 アクセスできる場合は、[
サインイン ]ボタンをクリック
します。
![clip_image016 [4] clip_image016[4]](https://habrastorage.org/getpro/habr/post_images/03d/444/ae3/03d444ae378a3eaa373d01d287dda787.jpg)
新しいクラスターを要求します。 以下は、メールボックスピークと呼ばれる大きなクラスターの例です。 ユーザー名とパスワードを入力し、[クラスターの要求]をクリックします。 すべての質問については、Apache Hadoop for Windows AzureベースのサービスおよびFAQガイドを参照してください。
![clip_image018 [4] clip_image018[4]](https://habrastorage.org/getpro/habr/post_images/d8d/107/20a/d8d10720a92cecd2dbbcc7dc1e6f1d67.gif)
FTPSおよびODBCポートを開いてサーバーにアクセスします。
![clip_image020 [4] clip_image020[4]](https://habrastorage.org/getpro/habr/post_images/1b4/374/7cc/1b43747cc87f93a8b7b633ad8f556c09.jpg)
Interactive Consoleアイコンをクリックします。
![clip_image024 [4] clip_image024[4]](https://habrastorage.org/getpro/habr/post_images/0bf/d9d/da7/0bfd9dda7b21a54b0c61d483bf621bb8.jpg)
次のJavascriptコマンドを使用して、HDFSにTwitterテキストファイル用のディレクトリを作成します。
js> #mkdir / example / dataテストテキストファイルをダウンロードするには、次のコマンドを実行します。
js> #put
ソース:C:\ hadoop \ example \ data \ Sample.txt
宛先:/例/データ大きな(非圧縮)テキストファイルを直接HDFSにダウンロードするには、curl.exeファイルが必要です。 このファイルが存在しない場合は、手順2の指示に従ってダウンロードし、適切なフォルダー(例:C:\ hadoop \ example \ data)に解凍します。 次に、PowerShellを開き、
C:\ hadoop \ example \ dataに移動し、次のFTPS用のPowerShellスクリプトをSampleDataテキストファイル(
SampleData.txt )に貼り付けます。
C:\ hadoop \ example \ data>#----- azure powershellの例でcurl ftpをhadoopに開始-
#------ XXXXXXXを適切なサーバー名/ユーザー名/パスワードに置き換えます$ serverName = "XXX.cloudapp.net"; $ userName = "XXXX";
$ password = "XXXXXXXX";
$ fileToUpload = "SampleData.txt"; $ destination = "/ example / data /";
$ Md5Hasher = [System.Security.Cryptography.MD5] :: Create();
$ hashBytes = $ Md5Hasher.ComputeHash($([Char []] $ password))
foreach($ hashBytesの$バイト){$ passwordHash + = "{0:x2}" -f $ byte}
$ curlCmd = "。\ curl -k --ftp-create-dirs -T $ fileToUpload -u $ userName"
$ curlCmd + = ":$ passwordHash ftps:// $ serverName" + ":2226 $ destination"
invoke-expression $ curlCmd#-----カールftpを終了してAzure PowerShellの例のhadoopに----![clip_image026 [4] clip_image026[4]](https://habrastorage.org/getpro/habr/post_images/ffa/5b3/294/ffa5b3294897f3acc5bae84754112b63.jpg)
ダウンロードする前に、非常に大きなファイルを圧縮する必要があります。 圧縮ファイル(拡張子.gzなど)をWindows Azureストレージアカウントにアップロードできます。 CloudXplorerプログラム(
http://clumsyleaf.com/products/cloudxplorer )を使用して、ファイルは次のようにダウンロードされます。
Windows AzureストレージアカウントをセットアップしてCloudXplorerをインストールしたら、Windows Azureポータルに移動し、右側の列の
[表示 ]ボタンをクリックして、ストレージアカウントのプライマリパスキーをコピーします。
![clip_image028 [4] clip_image028[4]](https://habrastorage.org/getpro/habr/post_images/42b/278/1ef/42b2781efdfc26c394fa2d5219cfb978.jpg)
次に、CloudXplorerを開き、[
ファイル]-> [アカウントの管理]を選択
します 。 新しいダイアログボックスが開きます。 [
新規]をクリックし、[
Windows Azureアカウント]を選択し
ます 。
![clip_image030 [4] clip_image030[4]](https://habrastorage.org/getpro/habr/post_images/49b/4ea/42e/49b4ea42e2ac038e604f61b069f32209.jpg)
次のダイアログボックスで、ボールトアカウントのセットアップ時に指定したボールトアカウントの名前(hadoopdemoなど)とコピーしたアクセスキーを貼り付けます。
![clip_image032 [4] clip_image032[4]](https://habrastorage.org/getpro/habr/post_images/799/162/626/79916262665a4cc09bc26ad6bb5fa447.jpg)
新しいストレージアカウントで、コンテナを作成します(Windows Azureでは、ディレクトリは
コンテナと呼ば
れます )。
![clip_image034 [4] clip_image034[4]](https://habrastorage.org/getpro/habr/post_images/9a9/501/480/9a9501480249fe142d87e64ef6c84c6d.jpg)
ZIPアーカイブをコンテナーにダウンロード(コピー)します(この場合、コンテナーは
dataと呼ばれ
ます )。
[データの
管理 ]アイコンをクリックして、Windows Azure BLOBストレージアカウントをセットアップします。
ASVのセットアップの横。
![clip_image040 [4] clip_image040[4]](https://habrastorage.org/getpro/habr/post_images/ab1/df5/a2c/ab1df5a2ccbfd58a8620beb1ac814940.jpg)
ここで、Windows Azure
ストレージアカウント名 (この場合は
hadoptmo )の
名前とメインアクセスキーが必要です。
![clip_image042 [4] clip_image042[4]](https://habrastorage.org/getpro/habr/post_images/53e/2ce/309/53e2ce30999a7ec5d4b0feb9b72be6de.jpg)
Windows Azureストレージアカウントとプライマリパスキーの名前を入力し、[
設定を保存 ]をクリックし
ます 。
![clip_image044 [4] clip_image044[4]](https://habrastorage.org/getpro/habr/post_images/b7f/d37/01c/b7fd3701c8cb9dc04416339ea8dbaecb.jpg)
Windowsクラスター でHadoop上のHiveを使用してTwitterデータを処理する
https://www.hadooponazure.com/にアクセスし
ます 。 [
リモートデスクトップ ]をクリックして、Hadoopヘッドノードに接続し
ます 。
![clip_image046 [4] clip_image046[4]](https://habrastorage.org/getpro/habr/post_images/ba6/d3c/a1c/ba6d3ca1cbafebcfe2dba5f15c361a42.jpg)
[開く]ボタンをクリックします。
![clip_image048 [4] clip_image048[4]](https://habrastorage.org/getpro/habr/post_images/8ea/0d5/1ef/8ea0d51eff8a428e6750cc87b557f5b9.jpg)
手順3でクラスターを作成したときに使用した名前とパスワードを使用して、リモートサーバーにログインします。
エクスプローラーまたはコマンドラインを使用して、リモートHadoopヘッドノードサーバー(NTFS側)にディレクトリ(たとえば、
c:\ Apps \ dist \ example \ data )を作成し、ナビゲートします。
CopyToHeadnodeフォルダーの内容全体を新しいディレクトリにコピーします。 これには、
HiveUDFs.jarファイル(Hiveクエリ用のユーザー定義関数)、
gzip 、およびHiveテキストクエリファイルも含まれます。 さらに、このステップの最後の部分を簡素化するために、
HadoopコマンドShell.txtから実行するファイルの
すべてのステップをコピーします。
![clip_image050 [4] clip_image050[4]](https://habrastorage.org/getpro/habr/post_images/368/3bd/102/3683bd102ef35867b35dd889bb756b6a.jpg)
RDPは、ホストされたデスクトップとリモートデスクトップ間のコピーをサポートしています。 Hadoopは、
gzipファイルをHDFSにコピーして
いるときに解凍する場合があります。
リモートデスクトップでHadoopコマンドシェルを開きます。
c:\ Apps \ dist \ example \ dataに移動します 。
twitter ストリームストリーム seq8.gzファイルをWindows Azureストレージから
c:\ Apps \ dist \ example \ dataフォルダー(NTFS側)にコピーします。 ストレージアカウント内のファイルの場所は、手順3で指定したWindows Azureストレージの関連付けによって異なります。この場合、コンテナーは
データと呼ばれ、
asv://の下の行に表示されます。
c:\ Apps \ dist \ example \ data> hadoop fs -copyToLocal asv://data/twitter_stream_seq8.txt.gz twitter_stream_seq8.txt.gz以下に示すように、
twitter ストリーム seq8.gzアーカイブを
c:\ Apps \ dist \ example \ dataフォルダーに解凍します(
http://www.gzip.org/からダウンロードする必要がある
gzip.exeプログラムが必要です)コマンドが実行されるディレクトリへ):
c:\ Apps \ dist \ example \ data> gzip -d -N twitter_stream_seq8.txt.gzご注意 Hadoopは、HDFSにコピーするときにファイルを解凍することがありますが、これは.bz2(bzip2)
http://bzip.org/アーカイブに対してのみ機能します。
hadoop fs -copyFromLocal twitter_stream_seq8.txt.gz /example/data/twitter_stream_seq8.txt次のコマンドを使用して、
Twitter ストリーム seq8.txtを
c:\ Apps \ dist \ example \ dataフォルダーからHDFSにコピーします。
c:\ Apps \ dist \ example \ data>
hadoop fs -copyFromLocal twitter_stream_seq8.txt /example/data/twitter_stream_seq8.txt1. HDFS上のファイルが更新されていることを確認します。 これを行うには、開く
![clip_image056 [4] clip_image056[4]](https://habrastorage.org/getpro/habr/post_images/ade/388/161/ade38816118c14ca96fb6b392bb2f62d.jpg)
/ example / dataフォルダーに移動します。
![clip_image058 [4] clip_image058[4]](https://habrastorage.org/getpro/habr/post_images/107/7ab/566/1077ab5664490527f2f49daaf6c7744c.jpg)
次のいくつかの手順は、ヘッドノードにコピーしたHadoopコマンドShell.txtファイルから実行するすべての手順に含まれています。
次のコマンドでtwitter_rawを作成してアップロードします。
c:\ apps \ dist \ example \ data> hive -v -f load_twitter_raw.txt![clip_image060 [4] clip_image060[4]](https://habrastorage.org/getpro/habr/post_images/c45/c41/2d1/c45c412d1acdede1849f76f0f38ca4d8.jpg)
テーブルは、HTFS側の/ hive / warehouseディレクトリに作成されます。
![clip_image062 [4] clip_image062[4]](https://habrastorage.org/getpro/habr/post_images/82a/69f/a80/82a69fa80e0dd7db1c7f3c12d4b3bc83.jpg)
これは、
c:\ Apps \ dist \ example \ data> hiveと
Hive> show tablesと入力することで、Hiveを使用して確認できます
。 以下に示すように。
![clip_image064 [4] clip_image064[4]](https://habrastorage.org/getpro/habr/post_images/d6d/f2f/187/d6df2f1871d5dfc17e3bd15c2a9c5122.jpg)
Hiveを終了するには、
hive> quitコマンドを使用し
ます。 。 次のように
twitter_tempを作成してアップロードします。
c:\ apps \ dist \ example \ data> hive -v -f create_twitter_temp.txt4つのノードがある場合、この操作には20分以上かかり、8つのノードがある場合、8分55秒かかります。 次のウィンドウで進行状況を確認します。
![clip_image066 [4] clip_image066[4]](https://habrastorage.org/getpro/habr/post_images/79c/f93/768/79cf93768b0d284612786918009de5ac.jpg)
タスクをクリックして、詳細と進行状況を表示します。 操作には20分以上かかる場合があります。
![clip_image068 [4] clip_image068[4]](https://habrastorage.org/getpro/habr/post_images/52d/690/b3c/52d690b3cae2d6ac83707bcaabc34529.jpg)
Hadoopコマンドシェルを使用してタスクの実行を監視することもできます。
![clip_image070 [4] clip_image070[4]](https://habrastorage.org/getpro/habr/post_images/09e/913/ecf/09e913ecf8ca0a0c1acf2aab710f34c2.jpg)
これは、Hiveを使用して
c:\ Apps \ dist \ example \ data> hiveおよび
Hive> show tablesと入力することで確認できます。
![clip_image072 [4] clip_image072[4]](https://habrastorage.org/getpro/habr/post_images/2c2/01b/683/2c201b683a14c7311b5f538b90a5d65b.jpg)
次のように
twitter_streamを作成してアップロードします。
c:\ apps \ dist \ example \ data> hive -v -f create_twitter_stream.txt4つのノードがある場合、この操作には60分以上かかり、8つのノードがある場合、31分54秒かかります。 上記のように進行状況を追跡します。 次のコマンド
でtwitter ストリームサンプルを作成してダウンロードします。
c:\ apps \ dist \ example \ data> hive -v -f create_twitter_stream_sample.txt上記のように進行状況を追跡します。 次のように
twitter_moviesを作成してアップロードします。
c:\ apps \ dist \ example \ data> hive -v -f create_twitter_movies.txt上記のように進行状況を追跡します。 次のコマンドで
twitter ムービー vwを作成してダウンロードします。
c:\ apps \ dist \ example \ data> hive -v -f create_twitter_movies_vw.txt上記のように進行状況を追跡します。
ExcelでHive ODBCおよびHiveダッシュボードを構成してHiveデータを取得する
このセクションは、ダウンロードタイルに
あるApache Hadoop for Windows Azureサービスの手順とよくある質問のドキュメントから取得されています。
![clip_image074 [4] clip_image074[4]](https://habrastorage.org/getpro/habr/post_images/4b9/112/1ed/4b91121ed06611fa397399fdeb4885e3.jpg)
Windows AzureポータルのHadoopで。
![clip_image076 [4] clip_image076[4]](https://habrastorage.org/getpro/habr/post_images/bc8/9ae/8bd/bc89ae8bd25251b29fc875856d160923.jpg)
![clip_image078 [4] clip_image078[4]](https://habrastorage.org/getpro/habr/post_images/747/371/96f/74737196f94b43e4e18bfc0fd7fa460b.jpg)
そこから、64ビットおよび32ビットバージョンのExcel用の
HiveODBCSetupをダウンロードできます。
HiveODBCを使用してWindows AzureプラットフォームのHadoopでExcel用Hiveアドインに接続する方法
Microsoftのビッグデータソリューションの最も重要な機能は、HadoopとMicrosoftビジネスインテリジェンスコンポーネントの統合です。 良い例は、HadoopクラスターのHiveデータウェアハウスフレームワークへのExcelの接続です。 このセクションでは、Hive ODBCドライバーを介してExcelを使用する方法を示します。
Hive ODBCドライバーのインストール
インストールを開始するには、Windows AzureポータルのHadoopから64ビットバージョンのHive ODBCドライバー(.msiファイル)をダウンロードします。
HiveODBCSetupx64.msiをダブルクリックして、インストールを開始します。 ライセンス契約を読みます。 条件に同意する場合は、[
同意し、
インストール ]
をクリックし
ます 。
![clip_image080 [4] clip_image080[4]](https://habrastorage.org/getpro/habr/post_images/f69/137/b5f/f69137b5fc968b48df81150751459902.jpg)
インストールが完了したら、[
完了 ]をクリックしてウィザードを
終了します。
Excel用Hiveアドインをインストールする
このアドインをインストールするには、64ビットバージョンのHive ODBCドライバーとExcel 2010アプリケーションが必要です。64ビットバージョンのExcel 2010を実行します。システムは、
HiveExcel拡張機能のインストールを求めます。
インストールをクリックし
ます 。 拡張機能がインストールされたら、Microsoft Excel 2010の[
データ ]タブをクリックします。次のスクリーンショットに示すように、[ハイブ]パネルが開きます。
![clip_image082 [4] clip_image082[4]](https://habrastorage.org/getpro/habr/post_images/4a8/028/666/4a802866620be7f5673d9131c6e772aa.jpg)
Excel用のHive ODBCデータソースの作成
[
スタート] -> [
コントロールパネル ]を選択して、Microsoft Windows
コントロールパネルを起動します。 コントロールパネルウィンドウで、[
システムとセキュリティ] -> [
管理ツール] -> [
データソース(ODBC)]を選択します。 [
ODBCデータソースアドミニストレーター ]ダイアログボックス
が表示されます 。
![clip_image084 [4] clip_image084[4]](https://habrastorage.org/getpro/habr/post_images/2cc/5f8/4cf/2cc5f84cf1e5ea076a031f27aa52e11f.gif)
[
ODBCデータソースアドミニストレーター ]ダイアログボックスで、[
システムDSN ]タブを選択します。 [
追加]をクリックして、データソースを作成します。 ODBCドライバーリストで
HIVEドライバーを選択します。
完了をクリックします。 下のスクリーンショットに示すように、[
ODBC Hiveセットアップ ]ダイアログボックスが開きます。
![clip_image088 [4] clip_image088[4]](https://habrastorage.org/getpro/habr/post_images/2a7/59b/8c0/2a759b8c0faaf30804b6d7b381899b8d.gif)
[
データソース名]フィールドに名前を入力します。 たとえば、
MyHiveData 。 [
ホスト]フィールドに、ポータルで作成されたクラスターノードの名前を入力します。 たとえば、
myhadoopcluster.cloudapp.netです。 ポータルで認証用のユーザー名を指定します。
[
OK]をクリックして、Hiveデータソースを保存します。 [
OK]をクリックして、[
ODBCデータソースアドミニストレーター ]ダイアログボックスを閉じます。
ExcelでHiveデータを取得する
64ビットバージョンのExcel 2010を実行します。次に、[
データ ]タブをクリックします。 [
ハイブパネル]をクリックして、Excelで
ハイブパネルを開きます。
[ハイブ接続の選択または入力]ドロップダウンリストで、前に作成したデータソースの名前を指定します。
システムは、ポータル上のクラスターで認証用のパスワードを入力するよう要求します。 パスワードとユーザー名を入力します。
[クエリするハイブオブジェクトの
選択 ]ドロップダウンリストから、[
hivesampletable [テーブル]を選択します。 テーブル内のすべての列を確認します。
Hive Queryパネルは次のようになります。
クエリの実行をクリックします。
![clip_image092 [5] clip_image092[5]](https://habrastorage.org/getpro/habr/post_images/b62/3d8/d4f/b623d8d4f26855ec93770f4184c658ef.gif)
この例のデータを処理するには、次の形式のクエリを実行する必要があります。
twitter
映画 vw制限20から選択*
結論
このガイドでは、Windows AzureでHadoopを使用し、ExcelでHiveを照会して、Twitterのデータを照会、調査、分析する方法を検討しました。