• Amazon EMRをより効率的に使うためには:
    ・出来るだけ小さなファイルをまとめて、データを集約する
    ・圧縮と解凍の速度や圧縮効率などを検討して、適切な圧縮方法を選択する
    ・パフォーマンスを向上させる

 

データの集約

さまざまな方法でAmazon EMRに大量のデータを移動させる事が出来ますが、短期間で効率良くデータをアップロードさせるには、複数のクライアントからAWSへ同時にデータを移動させるのが重要です。
計画的にデータをアップロードすれば、本格的にAWSが利用出来る時期を早める事が出来ます。

そして、Amazon EMRにデータをアップロードする時は、大きなファイルにまとめて格納する事にも配慮するべきです。
複数のデータをファイルに集約する事で、
・アップロードの回数を減らせる
・AWS上のファイルの数が減って、パフォーマンスが向上する
・圧縮比率が高くなり、AWS上の使用容量を少なく出来る
などのメリットがあります。

小さなファイルは大きなファイルにまとめてAWSにアップロードするのが、効率的な方法です。

 

 

 

 

データの圧縮

データの圧縮についても、
・ストレージコストの削減
・データ処理を高速化して、パフォーマンスを向上させる
などの効果がありますので、適切な圧縮方式を選ばなくてはなりません。

圧縮方式を選ぶ時は、
・高速でファイルを圧縮と解凍をする必要があるか
・データストレージをどの程度節約するのか
などを検討して、圧縮方式を選ぶ必要があります。

 

 

 

 

パフォーマンスチューニングするには

Amazon EMRのパフォーマンスを向上させるベストプラクティスには、いくつかの方法があります。

マップタスク関連の改善
・存続期間の短いマップタスクがある時は小さなファイルを処理しているので、大きなファイルにまとめる
・マッパー出力を圧縮する
・バッファの容量を増やして、マップタスクがディスクに書き込む回数を減らす

リデューサータスク関連の改善
・リデューサーが待機状態にならないように、リデューサーの数を制限する
・メモリ容量を増やして、メモリ内を参照するだけ済むようにする

 

 

 

 

本サイト上に掲載されているまとめ記事が、毎週ステップメールで受け取ることもできます。

 

参考文献