ストレージシステムとファイルシステムで作業する - 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 Signature Version 4 のみが使用されていることが明記されていない限り、場合によっては Signature Version 2 が使用されます。詳細については、Amazon Simple Storage Service デベロッパーガイドの「リクエストの認証 (AWS 署名バージョン 4)」および「リクエストの認証 (AWS 署名バージョン 2)」を参照してください。

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

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

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

EMRFS s3://

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

注記

以前は、Amazon は s3nおよび s3a ファイルシステム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