使用 Amazon 的儲存和檔案系統 EMR - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Amazon 的儲存和檔案系統 EMR

Amazon EMR和 Hadoop 提供各種檔案系統,您可以在處理叢集步驟時使用。您可以指定要由用來存取資料的 字首URI所使用的檔案系統。例如, 使用 s3://amzn-s3-demo-bucket1/path參考 Amazon S3 儲存貯體EMRFS。下表列出可用的檔案系統,並提供各檔案系統的最佳使用時機建議。

Amazon EMR和 Hadoop 通常在處理叢集時使用以下兩個或多個檔案系統。HDFS 和 EMRFS是與 Amazon 搭配使用的兩個主要檔案系統EMR。

重要

從 Amazon 5.22.0 EMR版開始,Amazon 只會EMR使用 AWS Signature 第 4 版來驗證對 Amazon S3 的請求。Amazon 早期EMR版本在某些情況下使用 AWS Signature 第 2 版,除非版本備註指出 Signature 第 4 版僅供使用。如需詳細資訊,請參閱 Amazon Simple Storage Service 開發人員指南 中的驗證請求 (AWS 簽章版本 4) 和驗證請求 (AWS 簽章版本 2)

檔案系統 字首 描述
HDFS hdfs:// (或不含字首)

HDFS 是 Hadoop 的分散式、可擴展和可攜式檔案系統。的一個優點HDFS是 Hadoop 叢集節點之間管理叢集的資料感知,以及管理個別步驟的 Hadoop 叢集節點之間的資料感知。如需詳細資訊,請參閱 Hadoop 文件

HDFS 由主節點和核心節點使用。其中一個優點是速度快;缺點在於它是暫時性儲存,會在叢集結束時回收。最適合用於快取中繼任務流程步驟所產生的結果。

EMRFS s3://

EMRFS 是 Hadoop 檔案系統的實作,用於EMR直接從 Amazon 讀取和寫入一般檔案至 Amazon S3。EMRFS 方便將持久性資料儲存在 Amazon S3 中,以便與 Hadoop 搭配使用,同時也提供 Amazon S3 伺服器端加密、read-after-write 一致性和清單一致性等功能。

注意

之前,Amazon EMR使用 s3ns3a 檔案系統。雖然兩者仍然有效,但我們建議您使用 s3URI方案來獲得最佳效能、安全性和可靠性。

本機檔案系統

本機檔案系統是指與本機連接的磁碟。建立 Hadoop 叢集時,每個節點都會從執行個體建立,該EC2執行個體隨附稱為執行個體存放區 的預先設定磁碟儲存區塊。執行個體存放磁碟區上的資料只會在其EC2執行個體的生命週期內持續存在。執行個體存放區磁碟區非常適合存放不斷變動的暫存資料,例如緩衝區、快取、臨時資料及其他暫存的內容。如需詳細資訊,請參閱 Amazon EC2執行個體儲存體

本機檔案系統由 使用HDFS,但 Python 也從本機檔案系統執行,您可以選擇將其他應用程式檔案存放在執行個體存放區磁碟區。

(舊式) Amazon S3 區塊檔案系統 s3bfs://

Amazon S3 區塊檔案系統是舊式檔案儲存系統。我們非常不建議使用此系統。

重要

我們建議您不要使用此檔案系統,因為它可能觸發競爭條件,而造成您的叢集失敗。不過,舊版應用程式可能會需要此系統。

存取檔案系統

您可以指定要由用來存取資料的統一資源識別符 (URI) 字首所使用的檔案系統。以下程序說明如何參考數種不同類型的檔案系統。

若要存取本機 HDFS
  • 在 中指定hdfs:///字首URI。Amazon 會將未在 中指定字首的路徑EMR解析URI為本機 HDFS。例如,下列兩項URIs都會解析為 中的相同位置HDFS。

    hdfs:///path-to-data /path-to-data
存取遠端 HDFS
  • 在 中包含主節點的 IP 地址URI,如下列範例所示。

    hdfs://master-ip-address/path-to-data master-ip-address/path-to-data
存取 Amazon S3
  • 使用 s3:// 字首。

    s3://bucket-name/path-to-file-in-bucket
存取 Amazon S3 區塊檔案系統
  • 僅適用於需要 Amazon S3 區塊檔案系統的舊版應用程式。若要使用此檔案系統存取或儲存資料,請使用 中的s3bfs://字首URI。

    Amazon S3 區塊檔案系統是舊式檔案系統,以往用來支援將超過 5 GB 的項目上傳至 Amazon S3。透過 Amazon 透過 AWS Java EMR提供的分段上傳功能SDK,您可以將大小高達 5 TB 的檔案上傳至 Amazon S3 原生檔案系統,Amazon S3 區塊檔案系統已棄用。

    警告

    由於此舊版檔案系統可以建立可能損毀檔案系統的競爭條件,因此您應該避免此格式,並EMRFS改用 。

    s3bfs://bucket-name/path-to-file-in-bucket