Azure Data Lake Storage Gen2 使ってみた

簡単な分析環境がすぐできるらしいので試してみました
※ちなみにAzure Data Lake Storage Gen2 はまだプレビューだそうです。

## そもそもAzure Data Lake Storage Gen2 ってなによ
>Azure Blob ストレージと Azure Data Lake Storage Gen1 という、既存の 2 つのストレージ サービスの機能を集約したもの。
 ファイル システム セマンティクス、ディレクトリ、ファイル レベルのセキュリティおよびスケーリングなど、Azure Data Lake Storage Gen1 に由来する機能が、Azure Blob ストレージの低コストの階層型記憶域、高可用性/ディザスター リカバリー機能と組み合わされています。

公式引用
よくわかりません

※翻訳してみました※
前身のAzure Data Lake Store がもともとサイズ無制限であらゆる種類のデータを保存することができ、高セキュリティ(AzureADとの連携)・高可用性(3重のレプリカ構造)、WebHDFS互換(Hadoop Distributed File System)の分散型ファイルシステムでした。
要するに大量のログなどをとりあえず生のまま保存することができ、複数の(HDFS接続のできる)分析基盤との接続もできるので多角的にデータを有効活用できるようになるようです。
またGen2でBlob Strageの機能も加わったため、価格がBlob Strageベースの安価なものになり、使いやすくなりました
という理解

## Azure Data Lake Storage G2 を使うと何がうれしいの？
大量のログなどを容量を気にすることなく、とりあえず生のまま安価に高機能なストレージに突っ込むことができる
またHadoop互換のシステムとの連携もできるので分析だけではなく機械学習や他の分野にもデータを活用することができる。
あと生データが保存できるので、後で別のシステムで活用することも可能


## とりあえず使ってみる
PowerShellとかやり方はいろいろあるみたいだけど、今回はAzureポータルから使用開始してみたいと思います

(1)Azure Data Lake Storage Gen2 対応のストレージ アカウントを作成するため
　Azure Portal の左側のメニューから「リソース グループ」 をクリック
![DataLakeG2_01.png](https://qiita-image-store.s3.amazonaws.com/0/313446/4441ffc4-f021-d441-24e6-3524027f44c6.png)

(2)「追加」をクリック
![DataLakeG2_02.png](https://qiita-image-store.s3.amazonaws.com/0/313446/412b0f54-cd17-3afd-9771-fc0753e6bed4.png)

(3)サブスクリプション、リソースグループ、リージョンを適宜選択し、「確認および作成」をクリック
![DataLakeG2_03.png](https://qiita-image-store.s3.amazonaws.com/0/313446/18882d23-cb9f-5584-ef60-5a8d7c970232.png)

(4)確認画面が出るので問題なければ「作成」をクリック
![DataLakeG2_04.png](https://qiita-image-store.s3.amazonaws.com/0/313446/bc398d90-88a8-56f1-198b-6e447c0d0a6d.png)

(5)Azure Portal の左側メニューから「ストレージ アカウント」をクリック
![DataLakeG2_05.png](https://qiita-image-store.s3.amazonaws.com/0/313446/beb0792e-60b6-7194-da1f-55c3cab2de91.png)

(6)「追加」をクリック
![DataLakeG2_06.png](https://qiita-image-store.s3.amazonaws.com/0/313446/85fc3244-dac7-0971-e5ab-05d048f99035.png)

(7)必要項目を記入・選択し、「次:詳細」をクリック
![DataLakeG2_07.png](https://qiita-image-store.s3.amazonaws.com/0/313446/8817f2b7-98d3-1cd1-c618-0c1196d6ae8c.png)

(8)DATA LAKE STORAGE GEN2(プレビュー)を「有効」に変更し、「確認および作成」をクリック
![DataLakeG2_08.png](https://qiita-image-store.s3.amazonaws.com/0/313446/c5003065-c282-874a-b65b-d0b19622358c.png)

(9)「検証に成功しました」と表示されたら設定項目を確認し「作成」をクリック
![DataLakeG2_10.png](https://qiita-image-store.s3.amazonaws.com/0/313446/f9bbbc1f-bf21-0055-0194-a80ca008a1ca.png)

## データを取り込んでみる
(10)Azure Data Lake Strage Gen2 にログデータなどを取り込みたいので、今回はAzure Data Factoryを利用したいと思います
　どうもいろんなタイプのログやデータを取り込んでアウトプットできるらしい(曖昧)
　Azure Portal の左側のメニューから「すべてのサービス」-> 分析の「データ ファクトリー」 をクリック

(11)追加をクリック
![DataLakeG2_11.png](https://qiita-image-store.s3.amazonaws.com/0/313446/7913b46e-c837-fc06-cea0-34cd35a806cb.png)

(12)新しいData Factoryを作成するため、必要項目を入力し「作成」をクリックする
　ちなみに、名前はグローバルで一意である必要がある
　リソースグループは(1)で作成したものを選択
　場所はまだ日本はないらしい・・・(早く実装されてほしい)
![DataLakeG2_12.png](https://qiita-image-store.s3.amazonaws.com/0/313446/dc8738f7-28fb-5d60-c18d-95f7d0e62704.png)

(13)作成したデータファクトリーを開き「作成と監視」をクリック
![DataLakeG2_13.png](https://qiita-image-store.s3.amazonaws.com/0/313446/ff72da34-3462-fbc5-9bfa-ae68f8d6cac9.png)

(14)別タブでデータ統合アプリケーションが開くので(結構時間がかかる)、「Copy Data」をクリック
![DataLakeG2_14.png](https://qiita-image-store.s3.amazonaws.com/0/313446/35a6b264-a408-acc0-2a52-d6a438cb7c83.png)

(15)Task name を適当に設定し「Next」をクリック
![DataLakeG2_15.png](https://qiita-image-store.s3.amazonaws.com/0/313446/d78e62ae-a443-9751-bad9-c88e8b520d3d.png)

(16)データソースを選択するため、「Create new connection」をクリック
![DataLakeG2_16.png](https://qiita-image-store.s3.amazonaws.com/0/313446/36cfed35-69e8-3926-a459-12a600ad06f1.png)

(17)接続させたい接続元サービスを選択する
　　Amazon Redshift や Google BigQuery とも連携できるようなのですが、テストとしてAmazonS3にあるファイルを取りこんでみる
　　というわけで、「Amazon S3」を選択し「Continue」を選択
![DataLakeG2_17.png](https://qiita-image-store.s3.amazonaws.com/0/313446/03a8757d-9bc4-8649-587a-fa4fc079b6e6.png)

(18)設定したいS3の情報を記載し、「Test Connecting」をクリックして問題なければ「Finish」をクリック
　(S3側であらかじめアクセスキーを設定しておく必要あり)
![DataLakeG2_18.png](https://qiita-image-store.s3.amazonaws.com/0/313446/1932279b-5815-03b4-51d9-9331854c1909.png)

(19)「Next」をクリック
![DataLakeG2_19.png](https://qiita-image-store.s3.amazonaws.com/0/313446/21b7d57e-37e6-4c1f-34b4-d2051a1b122b.png)

(20)ソースとなるフォルダまたはファイルを「Browse」ボタンから選択し、「Copy file recursively」(ファイルの再起コピー)と「Binary Copy」にチェックを入れて「Next」をクリック
![DataLakeG2_20.png](https://qiita-image-store.s3.amazonaws.com/0/313446/731db2fb-4ec4-a812-f953-6e7a2534f3c5.png)

(21)データのストア先を設定するため、「Create new connection」をクリック
![DataLakeG2_21.png](https://qiita-image-store.s3.amazonaws.com/0/313446/d2c3c589-aafe-1c8b-e2e0-968710c1a6a4.png)

(22)「Azure Data Lake Storage Gen2」 を選択して「Continue」Continue をクリック
![DataLakeG2_22.png](https://qiita-image-store.s3.amazonaws.com/0/313446/7a11c555-c574-aebe-07c8-855c3e2d4ae4.png)

(23)(7)で指定した Strage account name を指定し「Finish」をクリック
![DataLakeG2_23.png](https://qiita-image-store.s3.amazonaws.com/0/313446/6afe9be2-12d7-b6fd-a2f7-f5690cb40a51.png)


(24)正常に登録されていることを確認し「Next」をクリック
![DataLakeG2_24.png](https://qiita-image-store.s3.amazonaws.com/0/313446/d6758e36-d97b-ea69-807b-3991ecfa22c9.png)

(25)「Folder path」に出力先のフォルダ名を入力し「Next」をクリック
![DataLakeG2_25.png](https://qiita-image-store.s3.amazonaws.com/0/313446/48100392-1dea-dd4f-9b76-83b1d756e598.png)

(26)オプション設定なので特に設定せず「Next」をクリック
![DataLakeG2_26.png](https://qiita-image-store.s3.amazonaws.com/0/313446/a9f57fa0-608f-8446-03be-0422e78a9fff.png)

(27)ここまで設定してきた内容を確認し、問題なければ「Next」をクリック
![DataLakeG2_27.png](https://qiita-image-store.s3.amazonaws.com/0/313446/5d68dd7d-c5e8-d196-aab4-da5d2582eca5.png)

(28)正常にDeployが完了したら「Monitor」をクリックする
![DataLakeG2_28.png](https://qiita-image-store.s3.amazonaws.com/0/313446/e360ed07-3e2a-5f4d-28d5-4f4917ece366.png)

(29)実際に実行してファイルコピーの結果は下図のように確認することができる
　　テストでファイルが小さいので早いですね
![DataLakeG2_29.png](https://qiita-image-store.s3.amazonaws.com/0/313446/8be82b1b-0a67-57be-93cb-2b567d8ba0ff.png)

(30)実際にコピーした情報は、Azure Storage Explorer からも確認することができた
![DataLakeG2_30.png](https://qiita-image-store.s3.amazonaws.com/0/313446/c2d0e4ff-f065-adcb-5b9d-04d8979a8369.png)



次回はこれを使って分析する方法をテストしてみたいと思います。