ヤマムギ

growing hard days.

*

Amazon EMR 「Hadoop を使用してビッグデータを分析」チュートリアルをやってみました

      2020/07/25

AWS認定データアナリティクス受験準備の一環で、Amazon EMRのチュートリアルをやってみました。

手順はこちらの「Hadoop を使ってビッグデータを分析する方法 – アマゾン ウェブ サービス (AWS)」です。
所要時間60分らしいです。

実際の手順はこちら「Amazon EMR によるビッグデータ分析入門 – Amazon EMR」です。

S3バケットの作成

適当な名前でバケットを作成して、[フォルダの作成]ボタンでプレフィックスを作成しておくようです。
プレフィックスの事前作成要るのかな??
とりあえず手順通りに進めます。

MyHiveQueryResults というプレフィックスを作成しておきました。

EC2 キーペアの作成

EC2キーペアを作成しました。
環境はMacですので、pemでダウンロード後、chmod 400しておきました。
(結果、このチュートリアルではSSHログインしませんでした)

EMRクラスターを起動

[クラスターの作成]ボタンを押下しました。

(手順はクイックオプションでの作成です。ですが、詳細オプションも見るだけでも見ておくことでEMRで設定できることのイメージがつきやすかったです。)

クラスター名を入力して、キーペアを選択して、[クラスターの作成]ボタンを押下しました。

1つのマスターインスタンスと2つのコアインスタンスができるようです。
インスタンスクラスはm5.xlarge、VPCはでデフォルトですね。
アプリケーションは、Hive 2.3.6, Hue 4.6.0, Mahout 0.13.0, Pig 0.17.0, Tez 0.9.2が選択済みでした。
1つのAZで起動しました。
詳細オプションでインスタンスフリートにすると複数のAZで配置できるようです。

クラスターのステータスが開始中ですが、これが待機中になれば次に進めそうです。

でも、次のステップはセキュリティグループの変更なので、次に進んじゃいます。

セキュリティグループの変更

マスターとコア用にそれぞれ、ElasticMapReduce-master、ElasticMapReduce-slaveが作成されていました。

手順では、SSH 22 ソース 0.0.0.0/0 があるからマイIPに絞るべし、とありますが、SSHのインバウンドルール自体がなかったので新規作成しました。

(このチュートリアルではSSHログインはしませんでした)

Hiveスクリプトを実行してデータを処理する

マスター、コア両方のステータスは、実行中になっていました。
そして、クラスターは待機中なので大丈夫そうですね。次の手順に進みます。

[ステップ] タブで[ステップの追加]ボタンを押下しました。

  • スクリプトS3の場所
    s3://ap-northeast-1.elasticmapreduce.samples/cloudfront/code/Hive_CloudFront.q
  • S3の場所の入力
    s3://ap-northeast-1.elasticmapreduce.samples
  • S3の場所の出力
    s3://emr-hive-demo/MyHiveQueryResults

入力バケットにある、CloudFrontアクセスログを解析して、OSごとの集計を出力するそうです。

出力バケットを見ます。

こんなデータと

こんなデータができてました。

http://ap-northeast-1.elasticmapreduce.samples.s3.amazonaws.com/cloudfront/code/Hive_CloudFront.q

上記URLで、Hive_CloudFront.qをダウンロードできたので、内容を見てみました。

ふむふむ。
これをちょっと変更して、また今度このブログサイトのアクセスログでもやってみよう。

リソース削除

EMRクラスターを選択して[削除]ボタンを押下しました。

マスターノードとコアノードのインスタンスも削除されていきました。

感想

AWSの各サービスのユーザーガイドは、最初にこのようなクイックスタートなチュートリアルがあるものが多いので、まずは動かして、それから詳細な機能確認に進んでいけたりもします。
EMRはHadoopなどを中心としたOSSのマネージドサービスということもあるので、まずそれらが何をするものなのか、EMRを使うことで何が楽になるのか(1つ1つのEC2インスタンスを操作しなくていい、構成しなくていい、などなど)をBlack Beltの資料とかで少し知ってから、このあたりのチュートリアルをやりましたので、理解しやすかったです。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

ad

ad

  関連記事

API Gateway 作成済REST APIの定義をSwaggerの形式でエクスポート

SAMで似たようなAPIを作りたくて、エクスポートしました。 Swaggerは、 …

ALBのヘルスチェックでPHPとMySQL接続をチェック

当ブログで504エラーが発生して、オートスケーリングにより自動でインスタンスが置 …

AtomエディタでEC2のファイルを直接編集する

Webページを編集していてEC2のファイルをvimエディタでさわったりしています …

JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo 2016 アップデート追っかけ会

「JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo …

AWS Lambda(Python)で生成した文字をAmazon Connectで音声を設定して発信する

Amazon Connectから発信する電話の音声を動的に設定します。 Lamb …

ブラウザからJavaScript SDKを使ってAmazon S3 への写真のアップロードチュートリアルをやってみました

ブラウザから Amazon S3 への写真のアップロードをやってみました。 HT …

Amazon EC2 Auto Scalingのライフサイクルフック

EC2 Auto Scalingにライフサイクルフックという機能があります。 ス …

NATインスタンスを作成する

プライベートサブネットのEC2インスタンスからカスタムメトリクスとCloudWa …

既存のAWSアカウントをAWS Control Towerに追加

Account Factoryからは既存アカウントは追加できない? AWS Co …

JAWS-UG 大阪 関西女子合同 Amazon Personalizeハンズオンやってみました

久しぶりに大阪でJAWS-UGに参加です。 Amazon Personalize …