2014年版 Hadoopを10分で試す(6) Pig

Hadoop関連(全部俺) Advent Calendar 2014:19日目の記事です

先日のHive編 (1),(2),(3) に続いてApache Pigです。Hive同様に、PigはMapReduceの上に位置するHadoopのエコシステムで、Pig Latinと言う「データのフロー」を記述できる言語で処理を書くことができます。

余談ですが、Clouderaのデータアナリスト向けトレーニングではHive、Pig、Impalaを扱っています。来年3月までの開催は、年明け1月のみとなっているので、興味のある方は是非。ディスカウントコード(ClouderaJapan_10)も利用できます(宣伝)。 (続きを読む)

Hadoopのいろんな言語でwordcount(1)

Hadoop関連(全部俺) Advent Calendar 2014:14日目の記事です

Apache Crunchを少し調べたついでに、Hadoopでいろんな言語を用いてwordcountを実行してみました。まずはMapReduce, HadoopStreamingHivePigwordcountを実行します。

(追記)githubにコードを置きました:https://github.com/kawamon/wordcount.git

ワードカウントの余談

ワードカウントは、HadoopのMapReduceの最初の説明によく利用される、いわゆる”Hello World”のような意味をもちます。

HadoopのMapReduceではワードカウントがサンプルとして取り上げられる理由が曖昧なことが多いのですが、なぜワードカウントなのでしょうか?

いわゆる量の多いビッグデータを処理するには2つの課題があります。

  1. ストレージに保存された大量のデータをCPUで処理するために読み込むため、データの移動に時間がかかる
  2. 1台のマシンで実行するには時間がかかりすぎる(メモリに乗り切らない、あるいは1台のCPUではまかなえないほど量が多い)

このような課題の解決には、1台のマシンをスケールアップして対応するには限界があるかもしれません。そのため、複数のマシンを使ってスケールアウトする、「分散処理」が力を発揮します。ワードカウントは大量のデータを「分散」して処理できるサンプルとして取り上げられています。
(続きを読む)