上位入賞者たちはどうやってチューニングしたのか!?Tuning Maniax総評

2014年8月13日(水)
Think IT編集部

日本マイクロソフト佐々木邦暢氏によるHadoopコース総評

「マイクロソフトのクラウドで、Apache Hadoopを使った解析処理を行う」

この、「Azureの一般的な使われ方」とは少しだけ違う舞台で本当に競技が成り立つか!?我々自身が一抹の不安を抱えながらの開催となった「Tuning Maniax - Hadoop編」ですが、結果的には多くの方にご参加いただき、Maniaxコミュニティのエネルギーを改めて実感することができました。本当にありがとうございました。

Hiveが大多数

さて、今回「どのような処理方式を選択されるかは参加者の自由!」という非常にユルいルールを設定しました。いろいろなやり方が入り乱れての戦いになると面白いな、と思っていたのですが、実際にはHiveを選択された方が多く、Javaで直接MapReduceプログラムを書かれたのは少数派、という結果となりました。やはり、一般的になじみ深いSQLに近い形でクエリを記述できるHiveは取り組みやすかったようです。

入賞者のお三方も全てHive派だったのですが、とはいえ三者三様の異なるクエリでそれぞれが正解を出力されていました。それぞれをここで引用するスペースはありませんが、1位nakayoshixさんのクエリが5つのMapReduceジョブに変換されていたのに対し、3位なのまるさんのクエリはジョブ2つで、よりすっきりしていたようです。クエリの洗練度合いでは、なのまるさんが一歩リードといったところでしょうか。

Nakayoshixさんの勝因

では優勝されたnakayoshixさんの勝因はというと、
「Azure無償評価枠内に収まるように計算しつつ、最大限にノード数を確保」
という点にあったようです。その数なんと256ノード!まずは小さなクラスタでクエリの確認をしつつ、Azureサポート部門に依頼してコア数上限を1050コアまで拡大し、最後に一発勝負のBig Runを行ったそうです。
漢らしいですね。

下はNakayoshixさんから頂いたスクリーンショットです。

優勝したnakayoshixさんのHadoopコース用構成

ちなみにJava派は…

今回少数派となってしまった「JavaでガチMapReduce」勢ですが、特別賞を受賞された福重さんはその数少ないお一人でした。福重さんは、非常に効率的なプログラムを作成されたものの、なんと「間違えてテスト用の入力データを使ってしまった」ため惜しくも入賞を逃しました。次回は是非正しいデータを使ってHive組に挑んで欲しいと思います。

なお、Hive組にやられっぱなしではあんまりなので、私(@ksasakims)もJavaでプログラムを作成してみました。一度のジョブで3問全部の答えをカウントできるように、Partitionerを自作してReducerを3つ動かすなどちょっとした工夫をした結果、32ノード利用時に処理時間35分(2100秒)と、なかなかの速度で処理できたようです。

※とはいえ、Hadoopを実際の業務で活用されている参加者の方からは「Javaで直接書いた方が速いことはわかっているが、ジョブの実行時間だけでなくプログラム開発の時間を含めて考えると、HQLで簡単に処理できるHiveは生産性が非常に高い」というご意見も頂きました。おっしゃるとおりだと思います。

次回は!?

いつ頃になるのか(そもそもあるのか)、今のところ未定ではありますが、HadoopとHDInsightはどんどん進化を続けています。今回まだ利用できなかった、HDP 2.1ベースのHDInsight-3.1では、Apache Tezが統合されてさらに高速化されていますし、そのHDInsightがAzureの日本リージョンでも使えるようになる予定です。

この新たな舞台で、さらに熱い戦いが繰り広げられることを願ってやみません。

“オープンソース技術の実践活用メディア” をスローガンに、インプレスグループが運営するエンジニアのための技術解説サイト。開発の現場で役立つノウハウ記事を毎日公開しています。

2004年の開設当初からOSS(オープンソースソフトウェア)に着目、近年は特にクラウドを取り巻く技術動向に注力し、ビジネスシーンでOSSを有効活用するための情報発信を続けています。クラウドネイティブ技術に特化したビジネスセミナー「CloudNative Days」や、Think ITと読者、著者の3者をつなぐコミュニティづくりのための勉強会「Think IT+α勉強会」、Web連載記事の書籍化など、Webサイトにとどまらない統合的なメディア展開に挑戦しています。

また、エンジニアの独立・起業、移住など多様化する「働き方」「学び方」「生き方」や「ITで社会課題を解決する」等をテーマに、世の中のさまざまな取り組みにも注目し、解説記事や取材記事も積極的に公開しています。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています