おそらく、管理者や開発者として大量のデータを保存する必要があるでしょう。どこに頼めば良いでしょうか?クラウドは最も実用的なオプションであり、幸運なことに、Azure Data Lakeはデータの保管において心配することなく役立ちます。
Azure Data Lakeを使用すると、プラットフォームや言語を問わず、高速であらゆる種類の処理と分析が行えます。このチュートリアルでは、Azure Data Lakeを使用したデータの保管と分析の方法を学びます。
効率的かつ安全にデータを一箇所に保存するには、今すぐAzure Data Lakeをご利用ください!
前提条件
このチュートリアルは実践的なデモンストレーションとなります。一緒に進める場合は、Azureアカウントと有効なサブスクリプションが必要です。まだアカウントをお持ちでない場合は、無料トライアルで充分です。
Azureポータルを使用してデータレイクを作成する
Azure Data Lakeは、ビッグデータ分析に最適化されたクラウドベースのデータストレージサービスであり、非常にスケーラブルです。必要に応じて小規模から始めて徐々に拡大することができます。では、どのようにストレージを作成するのでしょうか?
Azureポータルのクイックツアーを行い、Azure Data Lakeアカウントを作成します。
1. 好きなウェブブラウザを開き、Azureポータルに移動します。
2. 次に、資格情報を提供し、[サインイン] ボタンをクリックして Azure アカウントにサインインします。
サインインした後、ブラウザが Azure ポータルにリダイレクトされます(ステップ3)。

3. Azure ポータルで [リソースの作成] をクリックして、利用可能な Azure リソースのリストが表示されます。
初めてログインした場合や、サブスクリプションにデプロイされたリソースがない場合には、以下のページが表示されます。

4. ページの上部の検索バーで「ストレージ アカウント」と検索して、[ストレージ アカウント] を選択します。これにより、ブラウザがストレージ アカウント リソースの概要ページにリダイレクトされます。
検索バーを使用すると、特集されているリソースをスクロールせずにすばやく見つけることができます。ただし、このチュートリアルでは、Azure Data Lake アカウントを作成します。
Azure Data Lake は Azure Storage の上に構築されています。そのため、新しい Azure Data Lake アカウントを作成するには、ストレージ アカウントが必要です。

5. [作成] をクリックして、ブラウザがストレージ アカウントの作成ページ(ステップ 6)にリダイレクトされます。ここで、ストレージ アカウントを構成します。

6. 以下のように、プロジェクトの詳細 を含むストレージ アカウントを構成します:
- サブスクリプション を選択します-複数のサブスクリプションがある場合は、ストレージ アカウントを作成したいサブスクリプションを選択してください。このチュートリアルでは、以下のように Azure サブスクリプション 1 を使用します。
- あなたのリソースグループを選択してください。リソースグループはAzureリソースを論理的にグループ化する方法です。リソースグループは、関連するリソースを配置するフォルダと考えることができます。リソースグループを使用すると、リソースの管理、監視、削除が容易になります。
まだリソースグループがない場合は、代わりに新規作成ハイパーリンクをクリックして作成してください。

7. 同じページで、以下のインスタンスの詳細を構成します。
- 一意のストレージアカウント名を指定してください – このチュートリアルではataazurestorageを選択しています。名前はAzure内で一意であり、3〜24文字の間である必要があります。
- ストレージアカウントを展開するリージョンを選択してください – リージョンはストレージアカウントが物理的に存在する場所です。自分自身またはユーザーに最も近いリージョンを選択してください。
たとえば、米国のユーザーがアクセスするWebアプリケーション用のストレージアカウントを作成する場合は、米国東部または米国西部のリージョンを選択してください。
- その他の設定はすべてデフォルト値のままにして、ページの一番下にある「次へ:詳細設定」をクリックしてください。この時点で、標準のBlobストレージアカウントが作成されます。

8. [高度]タブで、Data Lake Storage Gen2の[階層名前空間を有効にする]チェックボックスをオンにします。このオプションにより、BlobストレージアカウントがData Lakeアカウントに変換され、AnalyticsおよびStoreを含むData Lakeのすべての機能が有効になります。
[レビュー+作成]ボタン(左下)をクリックして、設定を検証します。完了まで数分かかる場合があります。

9. 検証後、[作成]ボタンをクリックしてストレージアカウントの作成を完了します。

ストレージアカウントが作成されると、以下のように展開が進行中であることが表示されます。完了まで数分かかる場合があります。

10. 最後に、デプロイ後に新しく作成したストレージアカウントを開くために[リソースに移動]ボタンをクリックします。この時点で、Azure Data Lakeアカウントがすでにあります。


CLIを使用してデータレイクを作成する
Azureポータルを使用してAzure Data Lakeアカウントを作成する方法を見てきましたが、Data Lakeアカウントを繰り返し作成して自動化する方法が必要な場合はどうなりますか? Azureポータルは最適な選択肢ではありませんが、Azure CLIです。
Azure CLIは、Azureリソースを管理し、自動化されたCI/CIプロセスに統合できるクロスプラットフォームツールです。
Azure CLIはWindows、Linux、Azure Cloud Shell、およびmacOSで利用可能です。
Azure CLIを使用してAzure Data Lakeアカウントを作成するには:
1. Azureポータルで、Azure Cloud Shellを開くには、以下に示すようにCloud Shellボタンをクリックします。

2. Azureポータルの下部で、シェルタイプとしてBashまたはPowerShellのいずれかを選択し、シェルが開きます。

Azure Cloud Shellでは、BashまたはPowerShellのシェルタイプを自由に変更できます。ただし、このチュートリアルでは、Bashシェルをアクティブにしてください。

3. Azure Cloud Shellで以下のコマンドを実行して、インストールされているAzure CLIのバージョンを確認します。使用しているプラットフォームに関係なく、Azure CLIのバージョンが2.6.0以降であることを確認してください。そうでない場合は、Data Lakeアカウントを作成できません。Azure CLIバージョン2.6.0以降

4. 今、以下のコマンドを実行して、Azureアカウントにログインします。
このチュートリアルでは、Azure Active Directory(Azure AD)認証メソッドを使用しています。このメソッドは、サービスプリンシパルを使用するよりも簡単でセキュリティが強化されているため、推奨される認証タイプです。
以下のターミナルウィンドウにコードとURLが表示されます。次のステップでAzure ADを使用してAzureを認証するためにURLをメモしてください。

5. 以下を使用してAzure ADを使用して認証します。
- ステップ4でメモしたURLにブラウザで移動してください。
- Azureアカウントの資格情報とステップ4でメモしたコードを使用してログインしてください。

6. 次に、続行をクリックして認証プロセスを完了します。

7. 以下のaz account listコマンドを実行して、ログインしているアカウントのサブスクリプションをリストします。
アカウントが複数のAzureサブスクリプションに関連付けられている場合、Data Lakeアカウントで使用するサブスクリプションを選択して設定する必要がある場合があります。
Azure Data Lakeアカウントで使用するサブスクリプションの名前をメモしてください。このチュートリアルでは、使用するサブスクリプションはAzureサブスクリプション1です。

8. 以下のaz account setコマンドを実行し、サブスクリプションの名前を指定します。このコマンドは出力は提供されませんが、Azure Data Lakeアカウントで使用するサブスクリプションが設定されます。
9. リソース グループを作成するには、次の az group create コマンドを実行します。リソース グループにはユニークな名前を指定しますが、このチュートリアルでは ataadatalakecli を選択し、–location を westus に設定します。

10. リソース グループを作成した後、次の az storage account create コマンドを実行して、ストレージ アカウントを作成します。
--name
– データ レイク アカウント名 (ataaazuredatalakecli
)。
--resource-group
– リソース グループ名 (ataadatalakecli
)。
--location
– データ レイク アカウントの場所 (westus
)。
--sku
– データ レイク アカウントのストレージ SKU (Standard_LRS
)。
--kind
– 作成するデータ レイク アカウントの種類 (StorageV2
)。
--enable-hierarchical-namespace true - アカウントの階層型名前空間を有効にし、Data Lake Storage Gen2 を使用するために必要です。
StorageV1 は現在非推奨となっており、新しく作成されたすべての Data Lake アカウントで StorageV2 を使用する必要があります。既存の StorageV1 アカウントはしばらくの間使用できますが、最終的に StorageV2 に移行されます。したがって、データを StorageV2 アカウントに移行することを強く推奨します。

11. 今、Azureポータルでリソース グループに移動し、以下に示すように新しく作成したリソースが表示されます。
リソース グループのハイパーリンクをクリックして、リソース グループの概要ページに移動します(ステップ12)。

12. 最後に、リストからストレージ アカウントをクリックしてその概要ページにアクセスします。

これで、アクティブなストレージ アカウントが作成されました。

データ レイク ストレージにデータをアップロード
データ レイク ストレージ Gen2 アカウントが作成されましたが、現在は空です。なぜデータをアップロードしないのでしょうか?AzureポータルとAzure CLIを使用してデータをアップロードして確認できますが、まずコンテナを作成する必要があります。
1. ストレージ アカウントのダッシュボードで、データ ストレージ(左パネル)の下にある「コンテナ」をクリックし、新しいコンテナを作成します。
Azureでは、コンテナはデータを保存するためのファイル システムです。

2. 次に、新しいコンテナを以下のように構成します:
- コンテナの名前を指定しますが、このチュートリアルではazuredatalakecotainerを選択します。
- プライベート(匿名アクセスなし)を選択します。
- コンテナを作成するには、下部にあるCreateをクリックします。

3. 以下に示すように、リストからコンテナの名前をクリックして開きます。コンテナは現在空です。

4. 今、上部のUploadボタンをクリックして、ファイルやフォルダをコンテナにアップロードします。

5. アップロードブロブブレードで、フォルダのアップロードボタンをクリックし、ファイルやフォルダを指定して、Uploadをクリックします。
一度に複数のファイルやフォルダを選択してアップロードできます。

以下のように、各ファイル/フォルダのアップロードの状態が表示されます。

アップロードが完了すると、コンテナにファイルがリストされます。

または、以下のaz storageコマンドを実行して、コンテナにアップロードされたすべてのファイルをリストします。コンテナ名(azuredatalakecotainer)とアカウント名(ataaazuredatalakecli)をご自分のものに置き換えてください。
以下の出力は、ファイルがAzure Data Lake Storage Gen2アカウントに正常にアップロードされ、メタデータが付与されていることを確認しています。

6. 以下のコマンドを実行して、コンテナ(azuredatalakecotainer)にmy-data-lake-directoryという新しいディレクトリを作成します。

7. 最後に、Azure Portalのコンテナに戻り、以下のように新しく作成されたディレクトリが一覧に表示されます。
そこから、ステップ3からステップ5に従って、新しく作成されたディレクトリにさらに新しいファイルやフォルダをアップロードできます。

結論
使用料は使用したストレージのみ支払うため、費用対効果があります。Azure Dataは認証と承認にAzure Active Directoryを使用しています。データのセキュリティは常に最優先事項です。そして、このチュートリアルでは、Azure PortalとCLIを使用してAzure Data Lake Storage Gen2アカウントを作成する方法を学びました。
Azure Data Lakeを使用すると、大規模なデータ分析ワークロードを複雑に処理せずにファイルをアップロードして検証できます。
この時点で、安全にデータを一元化し、Azureが提供するツールとサービスを使用してデータを分析できるようになりました。なぜData Lake Analyticsサービスを開始してデータのクエリと可視化を始めないのでしょうか?