HadoopのMapReduce操作をより簡単にするHive
今回は国内外で急速に開発事例が増えてきているHiveにフォーカスします。HiveはFacebookがビッグデータ分析用に開発し、その後The Apache Software FoundationのHadoopプロジェクトに寄贈されて世界レベルで拡張が進められている、言わば「Hadoop用のデータウェアハウス」です。
HiveはMapReduce操作をHiveQLというSQLに似た言語で行えるため、SQLを使ったRDB操作に慣れているエンジニアであれば問題なく使えると思います。例として下記にtrandataテーブルのtranidをカウントするHiveQLを示します。
select count(tranid) from trandata;
詳細は以降の連載で解説しますが、読者の皆さんが開発で使われているSQLと同じであることが分かるでしょう。OracleやMySQLなどのRDBを使っている方であれば比較的スムーズにHiveの開発を始められるかと思います。ただし当然のことながらビッグデータを対象としている以上、通常のRDBとはまったく異なった設計が求められます。そちらについても本連載で可能な限り取り上げていきたいと思います。Hiveの詳細に関しては下記のプロジェクトページを参照してください。
AWSの利用準備
まずAWSのアカウントを開設することが前提となります。アカウントを持っていない方は、AWSのはじめかたの「1. アマゾン ウェブ サービス(AWS)のアカウントを開設する」を参考にアカウント作成を行ってください。
実際のサービス利用にあたり、クレジットカードの登録が必要となります。請求金額は利用状況にもよりますが、例えば筆者の環境で本連載の検証を行ったところ$10前後になりました(金額はあくまで目安ですので、ご自身の責任においてご利用ください)。
S3転送ツールの利用準備
本連載では、EMRへの入出力データの置き場としてAmazon Simple Storage Service(S3)を利用します。S3は簡単に言ってしまえばAWS上に用意された広大なストレージ領域で、実際にデータの保管や転送など、他のAWSサービスと同様に利用した分だけ課金が発生する仕組みとなっています。
利用にあたりAWSのWebベースの管理ツールであるAWS Management Consoleからもファイル転送を利用できますが、Windowsユーザの方にはCloudBerry S3 Explorerというクライアントツールの利用を推奨します。暗号化、圧縮、FTP関連機能が使えないなど若干の機能制限はあるもののフリー版も存在します。
今回は概要の説明と利用準備について解説しました。次回は実際にHiveを使ったデータ解析を行ってみます。