Datalakeの沼 - Azure Datalakeで始めるデータ分析

沼にはまらず、さくさく分析!

第5沼 東日本と米国東部 2のあいだ (下)

f:id:m-tanaka:20171111153025p:plain

「2週間ぶりね。前回の記事をみて準備はできたかしら?」

f:id:m-tanaka:20171103001520p:plain

「はい。バッチリです。」

f:id:m-tanaka:20171111153025p:plain

「では、始めましょう」

f:id:m-tanaka:20171103001520p:plain

「まずは、ダミーファイルをつくって」

f:id:m-tanaka:20171122210604p:plain

Powershellでコマンドを実行

Login-AzureRmAccount

ポップアップが表示されるので、マイクロソフトアカウントでサインイン

Account          : datalake@masayukitanaka.me 

SubscriptionName : 従量課金 

SubscriptionId   : hogehoge 

TenantId         : foobar 

Environment      : AzureCloud

ここで 表示されるSubscriptionIdは後で使うのでメモメモ

 

Set-AzureRmContext -SubscriptionId hogehoge

Register-AzureRmResourceProvider -ProviderNamespace "Microsoft.DataLakeStore" 

 

f:id:m-tanaka:20171103001520p:plain

「準備完了ですっ! では沼子いっきまーす」

Import-AzureRmDataLakeStoreItem -AccountName numaadls -Path "C:\temp\1GBDummy.dat" -Destinati on \1GBDummy.dat

「。。。」

Import-AzureRmDataLakeStoreItem : Upload operation failed due to the following underlying error: 

Microsoft.Azure.Management.DataLake.Store.TransferFailedException: Unable to locate a record boundary within 2MB on 

either side of segment 0 (offset 0). This means the record at that offset is larger than 2MB. 

「なんでしょう?これ?」

f:id:m-tanaka:20171111153025p:plain

「エラーね」

f:id:m-tanaka:20171103001520p:plain

「エラーですか。」

。。。

「どうしましょう?

f:id:m-tanaka:20171111153025p:plain

「こういううときは、まずメッセージの内容をきちんと確認することね」

「どうやら、1レコードのサイズが2MBを超えるとだめみたいね」

f:id:m-tanaka:20171103001520p:plain

「どうしましょう?」

f:id:m-tanaka:20171111153025p:plain

ggrks しょうがないので、excelで適当にデータを作ってcsvにしたものを1GBになるまで連結しましょう」

「で、できたものがこちら」

https://1drv.ms/u/s!AqtemAEf9YLcjnO_qsMWdUsGtByr

f:id:m-tanaka:20171208181740p:plain

f:id:m-tanaka:20171103001520p:plain

「ありがとうございます!じゃあ、これでやってみますね」

 Import-AzureRmDataLakeStoreItem -AccountName numaadls -Path "C:\temp\1gb.csv" -Destination \1gbtest_1.csv

「どきどき。あっ!プログレスバーみたいなのが出てます」

(XX秒後)

「あっ!終わりました」

f:id:m-tanaka:20171208182901p:plain

f:id:m-tanaka:20171111153025p:plain

「これで次に進めるわね。どうかしら、どのくらい時間がかかったかしら?」

f:id:m-tanaka:20171103001520p:plain

「雰囲気的には1分ちょっとでしょうか? でもこのくらいなら問題ないと思います」

f:id:m-tanaka:20171111153025p:plain

「そうね、でもエンジニアとしては雰囲気ではなくてちゃんと計測しておいた方がいいわね」

f:id:m-tanaka:20171103001520p:plain

「ストップウォッチの登場ですね!陸上部だったので、ストップウォッチの計測には自信があります」

f:id:m-tanaka:20171111153025p:plain

「そう」

「残念だけど、ストップウォッチは登場しないわ」

Powershellコマンドの実行時間は、Measure-Command {計測したいコマンド} で計測できるわ

f:id:m-tanaka:20171103001520p:plain

「なるほど。勉強になります」

「つまり、こういうことですね!」

 Measure-Command {Import-AzureRmDataLakeStoreItem -AccountName numaadls -Path "C:\temp\1gb.csv" -Destination \1gbtest_1.csv}

「Enter!」

Days              : 0 

Hours             : 0 

Minutes           : 2 

Seconds           : 25 

Milliseconds      : 202 

Ticks             : 1452024191 

TotalDays         : 0.00168058355439815 

TotalHours        : 0.0403340053055556 

TotalMinutes      : 2.42004031833333 

TotalSeconds      : 145.2024191 

TotalMilliseconds : 145202.4191

「おぉ。1分ちょっとではなくて、2分ちょっとでしたね」

f:id:m-tanaka:20171111153025p:plain

「そうね、念のため5回くらい計測してみましょう」

f:id:m-tanaka:20171208182956p:plain

「10MByte/sec = 80 Mbit/sだから、まぁまぁのスピードね。リアルタイム性は必要ないから、こんなもので十分だと思うわ」

f:id:m-tanaka:20171103001520p:plain

「そうですね、ではいよいよ分析の開始ですね」

 

続く