Hadoop >

目次

Pigからはじめてみましょう

  • Hadoop に興味を持たれたということは、いまここにある大量のデータを解析してみたい、またはそこからさらに価値のあるデータを生成してみたい、といったニーズがあるということですね。本当に重要なのは、Hadoopを使うことではなく、価値ある分析、生成のロジックを探し出すことではないでしょうか。
  • それならば、Pig からはじめるのが最適です。Pigとは、Hadoopクラスタの透過的な(つまり特に意識することのない)利用を可能にしてくれる、データ処理言語 PigLatin? とその実行環境を含むアプリケーションです。
  • Pigは、ある程度小さなデータであれば、ローカルモードを用いることによりバックエンドのHadoopクラスタをも必要としません。さらに、大量データのためにHadoopクラスタが必要になった場合でも、PigLatin? で書かれたスクリプトをほぼ変更せずに利用することが可能です。
  • また、Pig は事前のデータ定義が必須ではないためSQLよりも易しく、可読性の高い(記述した処理内容が分かりやすい)言語です。習得にほとんど時間はかからないでしょう。様々なデータ分析、生成のアイデアを短時間で繰り返し試すことを可能にしてくれます。
  • まずは、Pigをローカルモードで使ってみてください。

次にシングルノードHadoopを試してみましょう

  • Pigのローカルモード実行により、データ処理内容の妥当性を確認できたのではないでしょうか。
  • それでも、Pigローカルモードはシングルプロセスで実行されるので、さすがに大量データには対応できません。ここで、はじめてHadoopのセットアップが必要になってきます。
  • 最近のPCは非常に高性能になったので、市販の標準的なマシンでもマルチCPU、大容量メモリのおかげでシングルノード(疑似分散モード)のHadoopを実行することが比較的容易です。疑似分散モードでは、複数ノード(マシン)の場合と同様に、必要な各プロセス(NameNodeDataNodeSecondaryNameNodeJobTrackerTaskTrackerそして各タスクプロセス)が起動し、処理がスケールアウトします。もちろん、Pigスクリプトをそのまま使いましょう。
  • シングルノードでは、ハードディスクI/Oがボトルネックになる可能性が高いので、実際に処理が現実的なのは、数GBのデータといったところでしょう。もちろん、マシンのスケールアップ戦略も可能ですが、扱うデータ量の増大スピードを考慮に入れて早めのマルチノード移行と天秤にかけるとよいでしょう。
  • シングルノードHadoopのセットアップも非常に容易です。

Hiveの利用も検討してみましょう。

  • シングルノードHadoopがあれば、SQLライクな言語で処理を記述する Hive の利用を検討することも可能です。既存のSQL資産を活かせるかもしれません。

本格的なマルチノードHadoopクラスタに移行しましょう

  • PigローカルモードとシングルノードHadoopで、すでにデータ処理内容の実効性は確認済みですね。それでは、実際の巨大データを処理するために、マルチノードHadoopクラスタを構築しましょう。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-10-22 (火) 21:55:50 (1581d)