Hadoopカウントダウン(Yet Another Advent Calendar HAHAHA)
HadoopはJTを再起動するとジョブを完了したかどうかを忘れる。ログディレクトリ上のジョブ設定xmlファイルはジョブ完了後24時間経つと削除されるが、たまに削除されないのはこのためである。次 @okachimachiorz1 さんどぞ #hadoopCountDown
2010-12-13 23:06:20Hadoopで分散処理を考えるときは、2通りの検討の仕方がある。一つはデータ処理フロー自体を並列処理ができるかどうか?という検討と、データモデル自体がDAGのようなグラフ構造になっているかどうかだ。・・次は@marblejenka さんで。 #hadoopCountDown
2010-12-13 23:11:00R/inputは、grouping comparatorの実装を替えると処理対象の境界を切ることができる。joinのテクニックとしてもよく知られており、時系列データの分析では自己結合として使うと便利。 @nemoton さんお願いします。 #hadoopCountDown
2010-12-13 23:23:31分散処理で重要なのは、処理を結ぶためのNW。プログラマが意識することなく、Hadoopは効率よくNW運用を行う。CPU内でメニーコア化/NW複雑化が進み、効率よくコア間処理を行うためにHadoopをチップ上で活用する研究も。次は@shot6さん~ #hadoopCountDown
2010-12-14 01:06:24Hadoopを使うときに最もボトルネックになりやすいのはHadoopにデータが入る部分、MapReduceの中間、そしてHadoopから出て行くところの3つ。特にMapへの入力になるデータのスプリットの単位はとても重要。次は@Guutaraさん。 #hadoopCountDown
2010-12-15 09:54:19CPUとDISKとメモリを物理的に、並列に並べ資源を使い果すのが、Hadoopの目指す道。そこには計算処理の分散と、データ処理の分散がありどちらも試す価値はあります。問題はネットワーク。高価で分散の妨げです。つぎ @ryu_kobayashiさん #hadoopCountDown
2010-12-16 01:59:56HadoopはNameNodeがSPOFになるのでファイルサーバにはできない。また、セカンダリNameNodeがあったとしても、完璧なスナップショットが取れているわけではないので完璧に復旧をすることは難しい。次 @ashigeru さん #hadoopCountDown
2010-12-16 23:32:12並行して動作できる複数のReducerは、セカンダリソートを利用して一つにまとめられる。つぎ、 @fujibee さんで #hadoopCountDown
2010-12-17 23:59:08Hadoop JobをJava以外で書く方法。Hive,Pig,Jaql,PapyrusなどのDSL、Streaming,Pipesなどのパイプ実行など。Streamingは思ったほどパフォーマンスが落ちない。次は @kzk_mover さん。#hadoopCountDown
2010-12-20 11:28:02Hadoopは並列処理を初めて身近なものにしてくれたソフトウェア。つぎ、 @kkawamura さん。 #hadoopCountDown
2010-12-22 03:49:59Hadoopクラスタはコモディティサーバで構成されるが、コモディティサーバとは安価なサーバや使い回しの古いサーバでよいということではない。処理の特性やデータ量からCPU、メモリ、ディスクを見積もることが必要。次 @sasata299 さん #hadoopCountDown
2010-12-22 09:05:10ClouderaやEMRからStreamingでHadoopを使う場合、デフォルトで設定されている mapred.child.java.opts は大きすぎるので小さめの値を設定した方が良い。次は @hamaken さん #hadoopCountDown
2010-12-22 10:50:33Hadoopは大量データアクセスのためにスループットを優先。大量データから小さなデータを低レイテンシで見つけるための道具ではない。でも、前処理などにHadoopは有用だったりする。次は @shiumachi さん。 #hadoopCountDown
2010-12-22 11:08:16MapReduce処理の設計が苦手なら、スプレッドシートを使うとよい。表の各行がMapの入力で、行の小計が出力。小計列の合計がReduceの出力になる。多段MRの場合は表をたくさん書いてみる(ITアーキテクト vol 22より) #hadoopCountDown
2010-12-22 12:31:55Namenodeは全てのデータチャンクの物理配置を保持し、メモリに展開するので、hadoopクラスタのデータ量に応じたメモリが必要。SPOF問題はFTサーバといったお金で解決手段も #hadoopCountdown
2010-12-22 12:32:29MapReduceの中間データを削減する方法の1つに、Stripesパターンがある。keyの一部をvalueに移すことでエントリ数が減るので、Shuffleフェーズが軽くなる。次は @issay さんお願いします。 #hadoopCountDown
2010-12-22 12:54:13rccコマンドを使用することで、MapReduceの型(Java、C++)を作成できる。次は、@muddydixon さん。 #hadoopCountDown
2010-12-22 15:37:24hive streamingでmecabとか使うときはtasktracker全台にインストールが必要。エラーログは出ないので注意。次は @yanaoki さん #hadoopCountDown
2010-12-22 15:48:39DatanodeにはHTTPサーバが立ち上がっていて、HDFS上のファイルをHTTP経由でダウンロードできる。WebUI上からたどっていって、Download this fileでダウンロード可能。次は、@shun0102さん #hadoopCountDown
2010-12-22 21:35:27こういうの使うと多分、フツーにMap(の前の読み込み)速くなると思うよ http://j.mp/gkMjZO #hadoopCountDown
2010-12-22 22:13:03分散ファイルシステムのGfarm,Lustre,GPFS,Ceph,PVFS はそれぞれにHDFSの代わりとしてそのファイルシステム上でHadoop を動かすプロジェクトがある。ただしオープンソースでないものもある。次は @m_mouri さん #hadoopCountDown
2010-12-23 05:55:49Hadoopというと並列分散に注目されがちだが、実は1台で使っても数百倍も速くなるときがある。(特にRDBの)Disk I/Oがボトルネックになっているときは、MapReduceが適用できないか検討する。次は公式に @tatsuya6502 さん #hadoopCountdown
2010-12-24 09:36:55Reduce-Side-Joninは、WritableComparableな複合キーと、そのセカンダリソートを利用する。DITPwMR本でいうところの「value-to-key-conversionパターン」。 次は @ixixi さん #hadoopCountdown
2010-12-24 16:58:49MapReduceの二次的な入力としてキーによるルックアップが必要なときは、索引付きファイルを使う方法もある。HFileはHDFSに最適化された索引付きファイル。HBaseのために開発されたが単体でも使用できる。次は @cocoatomo さん。 #hadoopCountDown
2010-12-25 11:02:49