ヤマムギ

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

  関連記事

Selenium, Headless ChromeとAWS Lambdaで夜な夜なスクレイピング

このようなアーキテクチャで、Alexaスキルの開発を進めていまして、元となる情報 …

「re:CAP ~サーバーワークス re:Invent 2018 報告会~」でre:Invent2018について思われたことを聞かせていただいた

サーバーワークスさんのre:Invent re:CAPにおじゃましました。 re …

Projectタグを強制するSCPでアクションやリソースを限定しないとき成り立つのか

ふと疑問に思ったので試しました。 予想は、拒否されてしまう、です。 [crayo …

AWS VPC ネットワークACLでHTTP(80)のみ許可する

ユーザーガイドのカスタムネットワーク ACLのうち、HTTP(80)を許可する設 …

AWS SSOのパスワードリマインダーでADのパスワードを変更

AWS Managed Microsoft ADを構築してユーザー追加までで構築 …

DynamoDB IAMポリシーで特定属性だけを許可する

検証記録です。 対象テーブル 書籍のサンプルで作ったこちらです。 所属バンドの楽 …

AWS Client VPNのクライアント接続ハンドラを試してみました

AWS Client VPNを設定しましたで証明書とかせっかく作ったので、いろい …

Amazon CodeCatalystのスペースとプロジェクトを作成してみました

Amazon CodeCatalystはIAMユーザーで操作するのではなく、AW …

AWS複数アカウントのリソースをLambda(Python)から一括操作したくて

AWSの複数アカウント(30ちょい)のリソースをまとめて自動処理したくて。 とり …

SIEM on Amazon OpenSearch Serviceを構築

このブログまわりのモニタリングをSIEM on Amazon OpenSearc …