Amazon でのストレージおよびファイルシステムの使用 EMR - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon でのストレージおよびファイルシステムの使用 EMR

Amazon EMRと Hadoop には、クラスターステップを処理するときに使用できるさまざまなファイルシステムが用意されています。データURIへのアクセスに使用する のプレフィックスで、使用するファイルシステムを指定します。例えば、 は を使用して Amazon S3 バケットs3://amzn-s3-demo-bucket1/pathを参照しますEMRFS。次の表に、使用可能なファイルシステムと、それぞれの使用が推奨される条件を示します。

Amazon EMRと Hadoop は通常、クラスターを処理するときに次のファイルシステムを 2 つ以上使用します。HDFS と EMRFSは、Amazon で使用される 2 つのメインファイルシステムですEMR。

重要

Amazon EMRリリース 5.22.0 以降、Amazon EMRは AWS 署名バージョン 4 のみを使用して Amazon S3 へのリクエストを認証します。以前の Amazon EMRリリースでは、リリースノートで AWS 署名バージョン 4 のみが使用されていることが示されていない限り、場合によっては署名バージョン 2 が使用されます。詳細については、「Amazon Simple Storage Service デベロッパーガイド」の「リクエストの認証 (AWS 署名バージョン 4)」および「リクエストの認証 (AWS 署名バージョン 2)」を参照してください。

ファイルシステム プレフィックス 説明
HDFS hdfs:// (またはプレフィックスなし)

HDFS は、Hadoop 用の分散、スケーラブル、ポータブルファイルシステムです。の利点HDFSは、クラスターを管理する Hadoop クラスターノードと個々のステップを管理する Hadoop クラスターノード間のデータ認識です。詳細については、「Hadoop のドキュメント」を参照してください。

HDFS は、マスターノードとコアノードで使用されます。1 つの利点は高速であることです。欠点は、エフェメラルなストレージであり、クラスターが終了すると回収されてしまうことです。最適な用途は、ジョブフローの中間ステップで得られた結果のキャッシュ場所です。

EMRFS s3://

EMRFS は、Amazon から Amazon S3 EMRへの通常のファイルの読み取りと書き込みに使用される Hadoop ファイルシステムの実装です。EMRFS は、Hadoop で使用するための永続データを Amazon S3 に保存し、Amazon S3 サーバー側の暗号化、read-after-write 整合性、リスト整合性などの機能も提供します。

注記

以前は、Amazon は s3ns3a ファイルシステムEMRを使用していました。どちらも機能しますが、最高のパフォーマンス、セキュリティ、信頼性を得るには、 s3URIスキームを使用することをお勧めします。

ローカルファイルシステム

ローカルファイルシステムとは、ローカルに接続されているディスクを指します。Hadoop クラスターが作成されると、各ノードは、EC2インスタンスストア と呼ばれる事前にアタッチされたディスクストレージの事前設定されたブロックが付属するインスタンスから作成されます。インスタンスストアボリュームのデータは、EC2インスタンスの存続期間中のみ保持されます。インスタンスストアボリュームは、バッファやキャッシュ、作業データのように絶えず変化する一時的データを保存するのに最適です。詳細については、「Amazon EC2インスタンスストレージ」を参照してください。

ローカルファイルシステムは で使用されますがHDFS、Python はローカルファイルシステムから実行され、インスタンスストアボリュームに追加のアプリケーションファイルを保存することもできます。

(レガシーの) Simple Storage Service (Amazon S3) ブロックファイルシステム s3bfs://

Simple Storage Service (Amazon S3) ブロックファイルシステムは、レガシーのファイルストレージシステムです。このシステムは、使用しないことを強くお勧めします。

重要

このファイルシステムは、クラスター障害の原因となる競合状態を引き起こすことがあるため、利用はお勧めしません。ただし、レガシーアプリケーションでは必要になることがあります。

ファイルシステムへのアクセス

データへのアクセスに使用するユニフォームリソース識別子 (URI) のプレフィックスで、使用するファイルシステムを指定します。次の手順は、数種類のファイルシステムを参照する方法を示しています。

ローカルにアクセスするには HDFS
  • hdfs:///プレフィックスを指定しますURI。Amazon は、 でプレフィックスを指定しないパスをローカル URIにEMR解決しますHDFS。例えば、次の 2 つが 内の同じ場所に解決URIsされますHDFS。

    hdfs:///path-to-data /path-to-data
リモートにアクセスするには HDFS
  • 次の例に示すようにURI、マスターノードの IP アドレスを に含めます。

    hdfs://master-ip-address/path-to-data master-ip-address/path-to-data
Simple Storage Service (Amazon S3) にアクセスするには
  • s3:// プレフィックスを使用します。

    s3://bucket-name/path-to-file-in-bucket
Simple Storage Service (Amazon S3) ブロックファイルシステムにアクセスするには
  • Simple Storage Service (Amazon S3) ブロックファイルシステムを必要とするレガシーアプリケーションでのみ使用してください。このファイルシステムでデータにアクセスまたは保存するには、 のs3bfs://プレフィックスを使用しますURI。

    Simple Storage Service (Amazon S3) ブロックファイルシステムは、Simple Storage Service (Amazon S3) への 5 GB を超えるサイズのアップロードをサポートするために使われていたレガシーファイルシステムです。Amazon が AWS Java を介してEMR提供するマルチパートアップロード機能を使用するとSDK、最大 5 TB のファイルを Amazon S3 ネイティブファイルシステムにアップロードでき、Amazon S3 ブロックファイルシステムは廃止されます。

    警告

    このレガシーファイルシステムは、ファイルシステムを破損する可能性のあるレース条件を作成する可能性があるため、この形式は避けて、EMRFS代わりに を使用する必要があります。

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