Windows Dev. Site

Hadoop : HDInsight

今話題のWindowsAzureのHadoop、HDInsight。なんとなくわかった気でいますが、実際に以下のサイトを参考に使ってみることにしました。

「HDInsight での Hive の使用」

http://www.windowsazure.com/ja-jp/manage/services/hdinsight/using-hive-with-hdinsight/

HiveとPigは選択できますが、SQLに近いということで、Hiveにしました。
管理ポータルからHDINSIGHTを選び新規に作成します。
hd01

ストレージはアカウントが、東アジアではだめのようですので、アメリカ合衆国西部で新たに作る必要がありました。
HDInsightクラスタの作成まではよかったのですが、参考サイトにある対話型コンソールというものが見当たりませんでした。

「ダッシュボード」の左の雲アイコンをクリックすると、PowerShellを使った使い方が表示されるのでこれを参考にするしかないようです。(JavaScriptを使ったInteractive Consoleが便利そうだったので残念です。)
hd04

Windows Azure PowerShellのインストールには、以下のサイトを参考にしました。

「Install and configure PowerShell for HDInsight」

https://www.windowsazure.com/en-us/manage/services/hdinsight/install-and-configure-powershell-for-hdinsight/?fb=ja-jp

環境 Windows 8.1

WindowsAzurePowerShell.3f.3f.3fnew.exe

Compute Emulator v2.2
Storage Emulator v2.2
Storage Command Line
などがメニューにあらわれた。

Windows Azure HDInsight PowerShell.msi

インストール後、HDinsght関連のPowershellコマンドを表示してみました。

hd03

そして以下のコマンドを実行します。

Get-AzurePublishSettingsFile

ブラウザがたちあがりクレデンシャル情報がダウンロードされます。

Import-AzurePublishSettingsFile C:\Users\\Downloads\-credentials.publishsettings

ダウンロードしたファイルがインポートされます。

Get-AzureSubscription

情報が表示されます。

次に、HDInsightに接続します。

Use-AzureHDInsightCluster xframe (Get-AzureSubscription -Current).SubscriptionId

テストでサンプルデータの検索をしてみます。

Invoke-Hive “select * from hivesampletable limit 10;”

参考サイトにあるような、asv:///でBlobのファイルを読み込ませられるかテストしたかったので、それをPowershellからやってみました。

Invoke-Hive “create table xf01 (t1 string, t2 string, t3 string) row format delimited fields terminated by ‘ ‘;”
Invoke-Hive “load data inpath ‘asv:///example/data/sample.log’ overwrite into table xf01;”
Invoke-Hive “select * from xf01 limit 10;”

なぜか、もともとdata/sample.logにあったのですが、hive/warehouse/xf01/sample.logに移動させれられました。

Azure Storage Explorer
StoregeExp01
しかしJavaScriptコンソールはどこに行ってしまったのか、これがないと本当に不便です。あとコマンドを発行してから結果が返るまでかなり遅いのも気になります。(私の環境だけかもしれませんが・・)

とりあえず、使ったみました。