如何使用Azure Data Lake進行存儲和分析

你可能需要作为管理员或开发人员存储大量数据,但不仅仅是任何数据,而是海量数据。你会去哪里?云是你最实用的选择,而幸运的是,Azure数据湖可以帮助你轻松存储数据,无需担忧。

Azure数据湖可以让你在各种平台和语言上以惊人的速度执行各种处理和分析。在本教程中,你将学习如何使用Azure数据湖进行存储和分析。

立即使用Azure数据湖高效、安全地将你的数据存储在一个地方!

先决条件

本教程将进行实践演示。如果你想跟着做,请确保你拥有一个已激活订阅的Azure帐户-如果你还没有一个,一个免费试用也就足够了。

通过Azure Portal创建数据湖

Azure数据湖是一种针对大数据分析进行了优化且高度可扩展的云端数据存储服务。你可以从小开始,并随着需求的增加而扩展。但是如何创建存储呢?

快速浏览Azure门户,并创建一个Azure数据湖帐户。

1. 打开您喜欢的网络浏览器,并导航到Azure门户

2. 接下來,提供您的憑證,點擊「登入」按鈕,並登入您的 Azure 帳戶。

登入後,您的瀏覽器會重新導向到 Azure 入口網站(第三步)。

Logging in to Azure Portal

3. 在 Azure 入口網站上,點擊「建立資源」,這將打開可用的 Azure 資源清單。

當您首次登入或在訂閱中尚未部署任何資源時,將看到以下頁面。

Creating a Resource

4. 在頁面頂部的搜尋欄中搜尋「儲存體帳戶」,並選擇「儲存體帳戶」。這將導向您的瀏覽器到儲存體帳戶資源的概觀頁面。

搜尋欄可讓您快速找到您想要建立的資源,而不必滾動查看特色資源。但在本教程中,您要建立的是 Azure 資料湖帳戶。

Azure 資料湖建立在 Azure 儲存體之上,因此儲存體帳戶是您需要建立新的 Azure 資料湖帳戶的資源類型。

Searching for Storage Account Resource

5. 現在,點擊「建立」,這將導向您的瀏覽器到建立儲存體帳戶的頁面(第六步),在此頁面上,您將配置您的儲存體帳戶。

Initializing Creating a Storage Account

6. 開始配置您的儲存體帳戶,首先從「專案詳細資料」Project details開始,如下所示:

  • 選擇您的訂閱 – 如果您有多個訂閱,請確保選擇一個您想要在其中建立儲存體帳戶的訂閱。本教程使用的是Azure 訂閱 1,如下圖所示。
  • 選擇您的資源群組 – 資源群組是一種將 Azure 資源以邏輯方式分組的方法。您可以將資源群組視為將相關資源放入的資料夾。資源群組可讓您更輕鬆地管理、監視和刪除資源。

如果您還沒有資源群組,請點擊「建立新的」超連結來建立一個。

Setting Project Details

7. 在同一頁面上,使用以下方式配置實例詳細資料:

  • 提供唯一的儲存體帳戶名稱 – 本教程的選擇是ataazurestorage。名稱必須在 Azure 中是唯一的,且長度必須介於三個字符和 24 個字符之間。
  • 選擇要部署儲存體帳戶的區域 – 區域是您的儲存體帳戶實際所在的地方。請選擇最接近您或您的使用者的區域。

例如,如果您正在為美國用戶訪問的 Web 應用程式創建儲存體帳戶,請選擇美國東部或美國西部區域。

  • 將所有其他設定保持為預設值,然後在頁面底部點擊「下一步:進階」。此時,您將擁有一個標準的 Blob 儲存體帳戶。
Create a Storage Account

8. 在高級選項卡下,選中Data Lake Storage Gen2中的啟用階層命名空間核取方塊。此選項將將您的Blob存儲帳戶轉換為Data Lake帳戶,並啟用Data Lake的所有功能,包括分析和存儲。

單擊“審查 + 創建”按鈕(左下角)以驗證您的設置,這可能需要幾分鐘時間才能完成。

Click on the Review + create button at the bottom to validate your settings.

9. 驗證後,單擊“創建”按鈕以最終創建存儲帳戶。

Creating the Storage Account

在創建存儲帳戶後,您將看到正在進行的部署,如下所示,這可能需要幾分鐘的時間才能完成。

Viewing Deployment in Progress

10. 最後,單擊“轉到資源”按鈕以在部署後打開新創建的存儲帳戶。此時,您已經擁有了Azure Data Lake帳戶。

Accessing the Newly-created Storage Account
Viewing the New Azure Data Lake Account

使用CLI創建Data Lake

您已經看到使用Azure Portal創建Azure Data Lake帳戶的方法運作正常。但是,如果您希望擁有可重複且自動化的Data Lake帳戶創建方式該怎麼辦?Azure Portal並不是最佳選擇,而是Azure CLI。

Azure CLI是一個跨平台工具,您可以使用它來管理Azure資源,並與自動化的CI/CI過程集成。

Azure CLI 可在 Windows、Linux、Azure Cloud Shell 和 macOS 上使用。

通過 Azure CLI 建立 Azure Data Lake 帳戶的步驟:

1. 在 Azure 入口網站上,按下方所示的 Cloud Shell 按鈕,以打開 Azure Cloud Shell。

Opening the Azure Cloud Shell

2. 在 Azure 入口網站的底部,選擇 Bash 或 PowerShell 作為您的 shell 類型,然後 shell 會打開。

Azure Portal

在 Azure Cloud Shell 上,您可以隨時更改 shell 類型為 Bash 或 PowerShell。但是在本教程中,請保持 Bash shell 啟用。

Viewing Azure Cloud Shell

3. 在 Azure Cloud Shell 上運行以下命令,以驗證已安裝 Azure CLI 的版本。無論您使用的是哪個平台,請確保您已安裝 Azure CLI 版本 2.6.0 或更高版本,否則無法創建 Data Lake 帳戶。

az --version
Verifying Azure CLI Version Installed

4. 現在,運行以下命令以使用您的 Azure 帳戶登錄 Azure。

本教程使用 Azure Active Directory(Azure AD)授權方法。此方法是建議的授權類型,因為它比使用服務主體更簡單且提供更多安全性。

az login

您將在下方的終端窗口中看到一個代碼和一個URL。請記下URL,因為您在下一步中需要使用它來使用Azure AD進行Azure身份驗證。

Log in to Azure using your Azure account

5. 使用以下方式使用Azure AD進行身份驗證:

  • 在瀏覽器中前往您在第四步中記下的URL。
  • 使用您的Azure帳戶憑據和您在第四步中記下的代碼進行登錄。
Authenticating Azure using Azure AD

6. 接下來,點擊“繼續”以完成身份驗證過程。

Logging in to Azure

7. 執行以下命令az account list以列出已登錄帳戶的訂閱。

如果您的帳戶與多個Azure訂閱關聯,您可能需要選擇和設定要用於您的Data Lake帳戶的訂閱。

記下要用於Azure Data Lake帳戶的訂閱名稱。對於本教程,要使用的訂閱是Azure訂閱1。

az account list
Getting the Subscription Name to Use for the Azure Data Lake Account

8. 現在,執行以下命令az account set並指定您的訂閱名稱。此命令不會提供輸出,但會設置用於Azure Data Lake帳戶的訂閱。

az account set --subscription 'Azure subscription 1'

9. 執行以下命令az group create以創建資源群組。為您的資源群組選擇一個唯一的名稱,但本教程的選擇是ataadatalakecli ,並將 -location 設置為 westus。

az group create --location westus --resource-group ataadatalakecli
Creating a Resource Group

10. 在創建資源群組後,執行以下az storage account create命令,並傳遞以下參數的值來創建存儲賬戶:

  • --name – 您的數據湖賬戶名稱(ataaazuredatalakecli)。
  • --resource-group – 您的資源群組名稱(ataadatalakecli)。
  • --location – 您的數據湖賬戶的位置(westus)。
  • --sku – 您的數據湖賬戶的存儲 SKU(Standard_LRS)。
  • --kind – 要創建的數據湖賬戶類型(StorageV2)。
  • --enable-hierarchical-namespace true - 啟用您的賬戶的分層命名空間,這是使用數據湖存儲 Gen2 所必需的。
az storage account create  --name ataaazuredatalakecli --resource-group ataadatalakecli --location westus --sku Standard_LRS  --kind StorageV2 --enable-hierarchical-namespace true

請注意,StorageV1 現已停用,您應該使用 StorageV2 來創建所有新創建的數據湖賬戶。現有的 StorageV1 賬戶仍可使用一段時間,但最終將遷移到 StorageV2。因此,強烈建議將數據遷移到 StorageV2 賬戶。

Creating a Storage Account

11. 現在,在 Azure 儀表板中導航至您的資源群組,您將看到您新建立的資源,如下所示。

點擊資源群組的超鏈接,以導航至資源群組的概覽頁面(步驟 12)。

Viewing the Resource Groups

12. 最後,從列表中點擊存儲賬戶,以訪問其概覽頁面。

Accessing Storage Account Info

就是這樣!您現在擁有一個有效的存儲賬戶。

Viewing the Storage Account’s Overview

上傳數據到數據湖存儲

您剛創建了 Lake Storage Gen2 賬戶,但目前是空的。那麼,為什麼不上傳您的數據呢?您可以使用 Azure 儀表板和 Azure CLI 上傳和驗證數據,但首先,您必須創建一個容器。

1. 在您的存儲賬戶儀表板上,點擊「數據存儲」下的「容器」,然後點擊「容器」,如下所示,以創建一個新的容器。

在 Azure 中,容器是用於存儲數據的文件系統。

Creating a Container

2. 接下來,使用以下配置新容器:

  • 為容器指定一個名稱,但本教程中選擇的名稱是 azuredatalakecotainer
  • 選擇私人(無匿名訪問)作為存取權限等級。
  • 在底部點擊創建以創建容器。
Creating a Container

3. 從列表中點擊您的容器名稱,如下所示,以打開它。請注意,您的容器目前是空的。

Opening the Container

4. 現在,點擊頂部的上傳按鈕以上傳文件或文件夾到您的容器。

Initializing Uploading Files or Folders

5. 在上傳 blob頁面上,點擊文件夾上傳按鈕,找到您的文件或文件夾,並點擊上傳以上傳它們。

您可以一次選擇多個文件和文件夾進行上傳。

Locating Files to Upload

您將看到每個文件/文件夾上傳的狀態,如下所示。

Viewing Upload Progress

上傳完成後,您將在容器中看到列出的文件。

Verifying Uploaded Files in Azure Portal

或者,運行下面的az storage命令來列出容器中上傳的所有文件。將容器名稱(azuredatalakecotainer)和帳戶名稱(ataaazuredatalakecli)替換為您自己的。

az storage fs file list -f azuredatalakecotainer --account-name ataaazuredatalakecli --auth-mode login

下面的輸出驗證了文件已成功上傳到您的 Azure Data Lake Storage Gen2 帳戶和其元數據。

Listing Uploaded Files in Container via Azure CLI

運行下面的命令在您的容器(azuredatalakecotainer)上創建一個名為 my-data-lake-directory 的新目錄。

az storage fs directory create -n my-data-lake-directory -f azuredatalakecotainer --account-name ataaazuredatalakecli --auth-mode login

7. 最後,在 Azure Portal 中導航回到您的容器,您將在列表中看到新創建的目錄,如下所示。

從那裡,您可以按照步驟三至五,上傳更多新文件和文件夾到新創建的目錄中。

Verifying Newly-created Directory

結論

除了成本效益高,因為您只需支付使用的存儲空間,Azure Data 還使用 Azure Active Directory 進行身份驗證和授權。保護您的數據始終是首要任務。在本教程中,您已學會如何使用 Azure Portal 和 CLI 創建 Azure Data Lake Storage Gen2 帳戶。

使用 Azure Data Lake,您可以上傳文件並驗證它們,而不需要進行複雜的大數據分析工作負載處理。

此時,您可以安全地將所有數據存儲在一個地方,並開始使用 Azure 提供的工具和服務來分析您的數據。為什麼不開始使用 Data Lake Analytics 服務,並開始查詢和可視化您的數據呢?

Source:
https://adamtheautomator.com/azure-data-lake/