如何在巨量資料叢集中掛接 S3 以進行 HDFS 階層處理
下列各節提供如何使用 S3 儲存體資料來源設定 HDFS 階層處理的範例。
重要
Microsoft SQL Server 2019 巨量資料叢集附加元件將會淘汰。 SQL Server 2019 巨量資料叢集的支援將於 2025 年 2 月 28 日結束。 平台上將完全支援含軟體保證 SQL Server 2019 的所有現有使用者,而且軟體將會持續透過 SQL Server 累積更新來維護,直到該時間為止。 如需詳細資訊,請參閱公告部落格文章和 Microsoft SQL Server 平台上的巨量資料選項。
Prerequisites
- 部署巨量資料叢集
- 巨量資料工具
- azdata
- kubectl
- 建立資料並上傳到 S3 貯體
- 將 CSV 或 Parquet 檔案上傳到您的 S3 貯體。 這是將會掛接到巨量資料叢集中 HDFS 的外部 HDFS 資料。
存取金鑰
設定存取金鑰認證的環境變數
在可存取您巨量資料叢集的用戶端電腦上開啟命令提示字元。 使用下列格式來設定環境變數。 認證必須位於逗號分隔的清單中。 'set' 命令是在 Windows 上使用的。 如果您使用 Linux,請改為使用 'export'。
set MOUNT_CREDENTIALS=fs.s3a.access.key=<Access Key ID of the key>,
fs.s3a.secret.key=<Secret Access Key of the key>
提示
如需有關如何建立 S3 存取金鑰的詳細資訊,請參閱S3 存取金鑰。
掛接遠端 HDFS 儲存體
現在您已備妥具有存取金鑰的認證檔案,您可以開始裝載。 下列步驟會將 S3 中的遠端 HDFS 儲存體掛接到您巨量資料叢集的本機 HDFS 儲存體。
使用 kubectl 在您的巨量資料叢集中尋找端點 controller-svc-external 服務的 IP 位址。 尋找 External-IP。
kubectl get svc controller-svc-external -n <your-big-data-cluster-name>
使用您的使用者名稱與密碼,利用 azdata 透過控制器端點的外部 IP 位址登入:
azdata login -e https://<IP-of-controller-svc-external>:30080/
依照上面的指示設定環境變數 MOUNT_CREDENTIALS
使用 azdata bdc hdfs mount create 在 Azure 中掛接遠端 HDFS 儲存體。 執行下列命令之前,請先取代預留位置值:
azdata bdc hdfs mount create --remote-uri s3a://<S3 bucket name> --mount-path /mounts/<mount-name>
注意
mount create 是非同步命令。 此時,沒有任何訊息指出掛接是否成功。 請參閱狀態一節以檢查您的掛接狀態。
如果已成功掛接,您應該能夠查詢 HDFS 資料,並對其執行 Spark 作業。 掛接會出現在您巨量資料叢集的 HDFS 中,位於 --mount-path
所指定的位置。
取得掛接的狀態
若要列出巨量資料叢集中所有掛接的狀態,請使用下列命令:
azdata bdc hdfs mount status
若要列出 HDFS 中特定路徑的掛接狀態,請使用下列命令:
azdata bdc hdfs mount status --mount-path <mount-path-in-hdfs>
重新整理掛接
下列範例會重新整理掛接。
azdata bdc hdfs mount refresh --mount-path <mount-path-in-hdfs>
刪除掛接
若要刪除掛接,請使用 azdata bdc hdfs mount delete
命令,並在 HDFS 中指定掛接路徑:
azdata bdc hdfs mount delete --mount-path <mount-path-in-hdfs>