ヤマムギ

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

  関連記事

ParquetフォーマットのデータにS3 Select SQLを実行する

RDSスナップショットのS3エクスポート結果確認で出力したデータが、S3にPar …

テキストをAmazon PollyでMP3に変換してS3に格納(AWS Lambda Python)

Google Calendar Twilio ReminderのテキストをAma …

AWS Storage Gateway File Gateway on EC2インスタンスにmacOSからNFS接続

S3バケットの作成 S3バケットはあらかじめ作成しておきました。 マネジメントコ …

CloudWatch Logs機密データ保護を設定しました

Amazon CloudWatch Logs を使用して機密データを保護するがリ …

Backlogの実績工数をAmazon QuickSightでの可視化 – 仕組み編

Backlogの実績工数をAmazon QuickSightで可視化してわかった …

AWS Organizations SCPで許可ポリシーの設定をし継承の関係を確認する

ユーザーガイドのサービスコントロールポリシーの例にはDeny(拒否)ばっかりでA …

共有AMIのコピー時にエラー「You do not have permission to access the storage of this ami」

他アカウントから共有されたAMIをコピーする際に、「You do not hav …

AWS Organizationsでタグポリシーを設定しようとしました

Organizationsで[タグポリシーを有効にする]ボタンを押下しました。 …

5分でAlexaスキルを作る

「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Micr …

Lambda関数をPython3.6から3.9に変更

CodeGuru ProfilerでLambda関数(Python 3.9)のパ …