2022/07/7

AWSのEMRでHadoopを活用しよう!メリットや使用方法をご紹介

 
  

Hadoopとは


Apache Hadoopは、大規模なデータの処理に適する、オープンソースのソフトウェアです。アメリカの非営利団体「Apacheソフトウェア財団」が提供しています。

分散コンピューティングを用いて、効率的にデータを処理します。また、相関ツールが多数存在しており、ニーズに合わせてカスタマイズできます。

AWSでHadoopを使用するには


HadoopをAmazon Web Services(AWS)へ導入するには、Elastic MapReduce(EMR)を使用します。

EMRにはHadoopをサポートする機能が多数搭載されており、活用の幅を広げられます。

EMRとは

AWSのElastic MapReduce(EMR)は、大規模なデータの分析・処理をサポートするプラットフォームです。

オープンソースやAWSのサービスと統合し、高速かつ高可用性のコンピューティング環境を構築できます。

クラスターのプロビジョニング、リソースのスケーリングなどを簡易化したり、処理の進行を監視したり、ストレージサービスにデータをバックアップしたりと、統合やカスタマイズによって多様なアクションが行えます。

AWS EMRでHadoopを使用するメリット


この項目では、AWS EMRでHadoopを使用するメリットについてご紹介します。

EMRを経由することで、リソースのセットアップや管理が容易になります。さらに、AWSのサービスと統合して、機能を拡張させることも可能です。

EMRの特徴も交えながら、メリットを説明していきます。EMRについてもしっかりと理解しておきましょう。

メリット1:セットアップを高速化できる

EMRでは、Hadoopのセットアップを高速化できます。

クイックオプションを用いることで、簡単にクラスターを起動できます。また、ノードを既存のクラスターに追加することも可能です。

手動で細かい設定をすることなく過程を完了させ、すぐにデータ処理に着手できるようになります。

メリット2:管理を簡易化できる

EMRは、Hadoopの管理を簡易化できます。

Managed Scalingにより、その場のニーズに合わせて自動でクラスターのサイズを変更できます。この他、クラスターの再起動なしに実行中のリソースの設定を変更することも可能です。

フレームワークの管理をEMR内で行える他、後からでも容易に規模を調整でき、将来的な設計が不要になります。

メリット3:可用性を高められる

EMRでは、Hadoopの可用性を高められます。

Hadoop自体にも可用性を高める仕組みは存在しており、HDFS(Hadoop Distributed File System)という分散ファイルシステムで複数のインスタンスにデータを保存できます。さらにそれらを監視して、障害が起きたノードを自動で置換します。

EMRでは、上記に加えて複数のアベイラビリティーゾーン(AZ)へのデータの保存が可能になります。データの分散範囲を広げることで、より高い可用性を実現します。

メリット4:コストを節約できる

EMRを使用することで、コストの節約がしやすくなります。

自動スケーリング機能によって簡単にサイズの増減が可能であり、その時点で必要なだけのサイズに随時調節できます。これにより、使用率を高めて無駄をなくし、コストを節約できます。

また、使われていない状態のリソースを削除していくことでもコストの節約に繋がります。

メリット5:AWSサービスと統合できる

EMRは、他のAWSサービスと統合して、それらをHadoopで活用できます。

Simple Storage Service(S3)による高耐久のデータ保存、Kinesisによるデータのリアルタイム集積、Redshiftによる高速データ分析、CloudWatchによる監視、Data Pipelineによるスケジュール設定など、多様な機能を取り入れられます。

すべての統合可能なサービスについては、公式ページをご覧ください。

メリット6:セキュリティを強化できる

EMRでは、セキュリティを強化できます。

保管あるいは転送中のデータを暗号化する機能を持つ他、Identity and Access Management(IAM)と統合してアクセス権限を設定したり、CloudTrailと統合してアクションの過去ログを記録したりできます。

ノードをElastic Compute Cloud(EC2)で作動させている場合、キーペアを作成することでSecure Shell(SSH)の導入も可能です。

メリット7:Hadoopのツールを使用できる

EMRでは、Hadoopと相関するツールに対応しています。

Spark、Hive、Presto、HBase、TensorFlowなどがあります。それぞれHadoopの補完に適した機能を搭載しており、データ分析の高速化や対応幅の拡張が可能です。これらはHadoop エコシステムとも呼ばれます。

例えば、Sparkと組み合わせると、メモリを用いた高速分析に加え、機械学習やリアルタイムのワークロードに対応できます。Hiveと組み合わせると、テキスト文書のような非構造化リソースの処理や、S3のデータに直接アクセスして読み込みや書き込みなどが可能になります。

AWSでHadoopを使用してデータ分析する方法


この項目では、AWSでHadoopを使用して大規模データを分析する方法についてご紹介します。

保存用のS3バケットを作成→クラスターを起動→データ分析→ダウンロードの4ステップを踏んでいきます。

公式ページおよびドキュメントにチュートリアルがあるので、そちらも合わせてご覧ください。

S3バケットを作成する

まずは下準備として、データの保存先となるS3バケットを作成します。名前は任意ですが、命名に関してルールがあるので、それに沿って入力していきます。

注意点として、バケットとクラスターは同じリージョンに作成する必要があります。どこで作成したか確認しておきましょう。

Hadoopクラスターを作成する

EMRでHadoopクラスターを作成・起動させます。

コンソールから作成画面を開き、必要事項を入力します。この時、クイックオプションを用いることで簡単に設定を完了できます。ただし、名前の入力とS3の指定は手動で行います。

必須ではありませんが、セキュリティグループを設定してEC2のSSHを導入可能にしておくと、安心して過程を進められます。

HiveQLでデータ分析する

HiveQLスクリプトを使ってデータ分析を行います。

コンソールからデータ分析のステップを設定していきます。この時に、ステップタイプとしてHiveを選択します。

実行後、分析が完了すると、その結果がS3の出力フォルダに送られます。

結果をダウンロードする

出力された結果をダウンロードすることで確認できます。

ダウンロードしたデータをローカルファイルに保存し、エディタで開くと結果が表示されます。正常に行われたかどうかチェックしておきましょう。

HadoopおよびAWS EMRの料金


AWSでHadoopを使用する際は、EMRの料金が必要になります。タイプやリージョンによって、請求額は変化します。

EC2やS3を始め、他の併用したAWSサービスの料金も加味する必要があります。料金計算ツールを使ってあらかじめ見積もっておくと良いでしょう。

詳しくは、公式ページをご覧ください。

AWS EMRでHadoopを有効活用しよう


この記事では、AWSでHadoopを使用する方法やメリットについてご紹介しました。

AWSでは、EMRを経由してHadoopを使用できます。ただ使用可能にするだけではなく、構築や管理の簡易化、可用性やセキュリティの強化、統合による機能拡張など、多様なサポートを受けられます。相関ツールにも対応しているので、機能が少なくなってしまう心配もありません。

Hadoopを普段から使っている、あるいはこれから使おうと考えている方は、EMRを使っての導入を検討してみてはいかがでしょうか。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】