AWSとAmazon EMRを利用してみる:きょうから試せる Hadoop“スモールスタート”ガイド(6)(2/6 ページ)
実際にHadoopで処理を実装していきながら「Hadoopは、誰にだって扱える」を体感しましょう。今回は「AWSとAmazon EMRの利用方法」を解説します。
AWSのサービスを利用する
AWSのアカウントの取得
さて、ここからはEMRを利用するための環境を整えていきたいと思います。まずはAWSのTOPページの右側から「今すぐサインアップ」をクリックしてAWSアカウントを作成しましょう※25。このAWSアカウントを使ってAWSの提供しているさまざまなサービスを利用することになります。
※25 (参考リンク)アカウント作成の流れ | アマゾン ウェブ サービス(AWS 日本語)
まず、サインアップページが表示されます※26。メールアドレスを入力して、「I am a new user.」にチェックを付けて進んでください。ここで入力したメールアドレスがAWSアカウントのIDとなり、今後ログインするときに必要となります。
※26 すでにアカウントを持っているユーザにとってはログイン画面も兼ねています
パスワードを設定後、今度は住所や電話番号を登録するフローとなります。郵便番号や電話番号は必ずハイフン区切りで入力する必要があるようです。注意点を以下にまとめたので参考にしつつ入力してください。
設定項目 | 説明 | 設定例 | 注意事項 | |
---|---|---|---|---|
Address Line1 | 番地 | 1-1-1 Roppongi | ||
Address Line2 | アパート、 マンション名 |
|||
City | 市区町村 | Minato-ku | ||
State, Province or Region |
都道府県 | Tokyo | ||
Zip or Postal Code | 郵便番号 | 106-0032 | ハイフンを省略しない | |
Country | 国 | Japan | ||
Phone number | 電話番号 | 090-1111-2222 | ハイフンを省略しない |
次はクレジットカード情報の登録になります。あくまでもAWSのサービスは従量課金制なので利用しなければ課金は発生しませんが、利用する際にはクレジットカード払いとなるためクレジットカード登録は必須となっています。
その後、電話による本人確認が行われます。国と受け取り可能な電話番号を指定して「Call me now」をクリックすると英語で電話がかかってきますが、自動応答の音声案内なので安心してください※27。電話がかかってくると同時に、画面の表示が以下のような状態に変化するはずです。
※27 筆者は焦りましたが
電話に出ると、PIN番号を入力するように指示されるので画面に表示されている4桁のPIN番号をプッシュ入力します。正しく入力できると本人確認が完了し、電話が切れます。これでAWSアカウントの取得は完了です。
EMRの利用申請
さて、AWSの各サービスを利用するためには最初に一度だけ、サービスごとに利用申請が必要です。EMRを使うためにはEC2やS3といったサービスも併せて利用することになるのでそられのサービスも含めて申請が必要となりますが、EMRの申請を行えばそれらもまとめて申請されます。
EMRの利用申請は、EMRのページの右側にある「今すぐ申し込む」をクリックし、AWSアカウントのメールアドレスとパスワードを入力するだけで完了です。忘れずに申請しておきましょう。
S3を利用する
前章で素のHadoopを使ったときにはHDFSに対してデータの読み書きを行っていましたが、EMRではファイルシステムとしてHDFSの代わりにS3を利用します。そのため、S3へのデータの読み書きが行える状態にしておく必要があります。
そもそもS3とは容量無制限のストレージであり、ネイティブのAPIやサードパーティーのツールを利用することで、インターネットに接続さえしていればどこからでもデータのアップロードやダウンロードが可能、というストレージサービスです。以下のような特徴を持っています。
- ひとつのオブジェクト(データ)は最大5テラバイトまで格納可能
- 格納するオブジェクトの数には制限が無い
- 99.999999999%(イレブンナイン、9が11個並ぶ)の堅牢性
- 99.99%の可用性
- 大規模データの場合、ディスクをAWSに送れば直接S3にもアップロード可能
料金体系も少し変わっていて、以下のような課金ルールがありデータの転送料金とデータの保持料金とで計算されます。
- S3へのアップロードは無料
- S3からのダウンロードは、1ギガバイト当たり最大で$0.125※28
- 月間のデータの保持料金は、1ギガバイト当たり最大で$0.125※29
- 同じリージョン内のAWSサービス間のデータ転送は無料
※28 アメリカ東部(バージニア)の場合であり、データ量に応じて値段は変動します(編注:価格は執筆当時のものです。以下同)
※29 アメリカ東部(バージニア)の場合であり、データ量に応じて値段は変動します
バケットを作成する
S3ではデータの保管場所をバケットと呼びます※30。S3利用時にはまずこのバケットが必要になるので作成してみましょう。
※30 サーバでいうディレクトリのようなものです
AWSの各サービスはAWSコンソールから使う方法とサードパーティー製のツールを利用する方法、あとはAWSのSDKを利用する方法などがありますが、今回はAWSコンソールから利用してみます。AWSコンソールはAWSのサイト上からアクセスできます。サイト右上の「アカウント/コンソール」から「AWS Management Console」を選択してください。
EC2やS3、EMRなど各サービスごとにコンソールが用意されています。画面上にある「Services」タブから利用したいサービスを選択することで切り替えられます。今回はS3のコンソールを開きましょう。ちなみに、左上のオレンジのアイコンをクリックするとコンソール画面を開いたときにどのサービスのものを最初に表示するかを切り替えられます。よく利用するサービスを最初に表示するようにすると素早くアクセスできて便利です。
S3のコンソールから、「Create Bucket」をクリックし、新たにバケットを作成します。バケット名は任意ですがS3内でユニークな名前を付けないといけません※31。今回はsasata299という名前でバケットを作成しました。
※31 つまり早い者勝ちということです
また、利用するリージョンはどこでも良いですが、S3は同じリージョン内では課金が発生しないという特徴を持っているため、EMR利用時と同じリージョンを使うようにすると良いでしょう。ここではUS Standard(アメリカ東部)を選択しました。
作成したバケットの下にはフォルダを作成して階層構造とすることも可能です。今回はEMR利用時のデータの読み込み先として、先ほど作成したsasata299バケットの中にinputフォルダを作ってみました。
AWSコンソール以外からの利用
ここまでAWSコンソールを使ってS3を利用してきましたが、サードパーティー製のツールも利用可能で、有名なものだとこれらが挙げられます。特に、データのやり取りが増えてきたりするといちいちコンソールにアクセスして利用するのは大変なので積極的にこれらのツールを利用すると良いでしょう。
- s3cmd(http://s3tools.org/s3cmd)
- Elastic Fox(http://aws.amazon.com/developertools/609)
- CloudBerry Explorer(http://www.cloudberrylab.com/)
また、処理を自動化したいときにはAWSのSDKを使ってコマンドラインやプログラムからS3を利用することも可能です。そちらもぜひ試してみてください。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- もし、あなたが「“ビッグデータプロジェクト”を任せる。何とかするように」と言われたら
「ビッグデータプロジェクトを始めることになった」ら、具体的に何をするのか。本連載は、「ビッグデータプロジェクトの“進め方”」を業務視点/ビジネス視点の両面から体系的に理解し、具体的に実践していく方のためのナレッジアーカイブです。第1回目は、「ビッグデータとは何か」の基礎と、「ビッグデータ基盤の概要とメリット」を解説します。 - Hadoopは「難しい・遅い・使えない」? 越えられない壁がある理由と打開策を整理する
ブームだったHadoop。でも実際にはアーリーアダプター以外には、扱いにくくて普及が進まないのが現状だ。その課題に幾つかの解決策が出てきた。転換期を迎えるHadoopをめぐる状況を整理しよう。 - いまさら聞けないHadoopとテキストマイニング入門
Hadoopとは何かを解説し、実際にHadoopを使って大規模データを対象にしたテキストマイニングを行います。テキストマイニングを行うサンプルプログラムの作成を通じて、Hadoopの使い方や、どのように活用できるのかを解説します - 欧米の金融業界は今、どうHadoopを活用しているか
Hadoopは、欧米の金融関連サービス業界でどう活用されているか。米Hortonworksの金融サービス業界担当ゼネラルマネージャーへのインタビューで得た情報を、2回に分けてお届けする。今回は金融業界におけるHadoopのユースケースを概観する。