分享方式:


在 SQL Server 巨量數據叢集上設定 HDFS 階層處理

適用於:SQL Server 2019 (15.x)

HDFS 階層處理可讓您在 HDFS 中掛接外部 HDFS 相容的文件系統。 本文說明如何設定 SQL Server 巨量數據叢集的 HDFS 階層處理。 目前,我們支持連線到 Azure Data Lake Storage Gen2 和 Amazon S3。

這很重要

Microsoft SQL Server 2019 巨量資料叢集附加元件將會淘汰。 SQL Server 2019 巨量資料叢集的支援將於 2025 年 2 月 28 日結束。 平台上將完全支援含軟體保證 SQL Server 2019 的所有現有使用者,而且軟體將會持續透過 SQL Server 累積更新來維護,直到該時間為止。 如需詳細資訊,請參閱公告部落格文章Microsoft SQL Server 平台上的巨量資料選項

HDFS 分層概觀

透過階層處理,應用程式可以順暢地存取各種外部存放區中的數據,就像數據位於本機 HDFS 中一樣。 掛接是元數據作業,其中描述外部檔系統命名空間的元數據會複製到本機 HDFS。 此元數據包含外部目錄和檔案的相關信息,以及其許可權和 ACL。 只有在使用例如查詢等方式存取資料時,才會依需求複製對應的資料。 現在可以從 SQL Server 巨量數據叢集存取外部文件系統數據。 您可以執行此數據的 Spark 作業和 SQL 查詢,就像在叢集上 HDFS 中所儲存的任何本機數據上執行它們一樣。

這段 7 分鐘的影片提供 HDFS 階層處理的概觀:

緩存

目前,根據預設,總 HDFS 儲存空間的 1% 將保留用於快取已掛載數據。 快取是跨掛接的全域設定。

備註

HDFS 分層是由 Microsoft 開發的一項功能,而其早期版本已作為 Apache Hadoop 3.1 發行版的一部分發布。 如需詳細資訊,請參閱 https://issues.apache.org/jira/browse/HDFS-9806 以取得詳細數據。

下列各節提供如何設定 HDFS 階層處理與 Azure Data Lake Storage Gen2 數據源的範例。

刷新

HDFS 分層支援重新整理。 刷新現有掛載,以取得遠程數據的最新快照。

先決條件

掛接指示

我們支持連線到 Azure Data Lake Storage Gen2 和 Amazon S3。 如需如何針對這些記憶體類型掛接的指示,請參閱下列文章:

已知問題和限制

下列清單提供在 SQL Server 巨量資料叢集中使用 HDFS 階層處理時的已知問題和目前限制:

  • 如果掛接長時間停滯在 CREATING 狀態中,它很可能失敗。 在此情況下,請取消該命令,並必要時刪除掛接。 在重試之前,請確認您的參數和認證正確無誤。

  • 無法在現有的目錄上建立掛接。

  • 無法在現有掛載點中創建新的掛載點。

  • 如果掛載點的任何父目錄不存在,則會使用預設為 r-xr-xr-x (555)的權限來建立這些目錄。

  • 視所掛接的檔案數目和大小而定,建立掛接可能需要一些時間。 在此過程中,掛接下的檔案對使用者不可見。 建立掛接時,所有檔案都會新增至暫存路徑,預設為 /_temporary/_mounts/<mount-location>

  • 建立掛載命令是非同步的。 執行命令之後,可以檢查掛接狀態以瞭解掛接的狀態。

  • 建立掛接時, 用於 --mount-path 的自變數基本上是掛接的唯一標識符。 ** 在後續命令中必須使用相同的字串(如果有的話,包括結尾的「/」)。

  • 掛接是唯讀的。 您無法在掛接下建立任何目錄或檔案。

  • 不建議掛接可以變更的目錄和檔案。 建立掛接之後,任何遠端位置的變更或更新都不會反映在 HDFS 的掛接中。 如果遠端位置發生變更,您可以選擇刪除並重新建立掛接,以反映更新的狀態。

後續步驟

如需 SQL Server 2019 巨量數據叢集的詳細資訊,請參閱 SQL Server 2019 巨量數據叢集簡介