SyntaxHighlighter

2012年8月12日日曜日

Bixoを使ってみる。(1)

今回は、Cascading関連のプロダクト、Bixoについて。

Bixoとは

BixoとはHadoop上で動作するCascadingのPipeにより構成される
Webマイニングツールキットである。
カスタマイズされたCascadingPipeAssemblyを構築することによって、
ユースケースに適用したWebマイニングアプリケーションを作成することが
出来る。

Bixoのアーキテクチャ

BixoはいくつかのCascadingのOperationとSubassembiesによって構成されていて、
HTMLのWebページをフェッチする為にこれらが組み合わされている。
HTMLのWebページをパースした結果が出力される。

FetchSubassemblyはURLよりWEBページのフェッチを行い、
StatusDatums(フェッチの状況を保持している)とFetchedDatum(フェッチしtWebページの情報を保持している)が出力される。
Parse SubassemblyはWebページをフェッチした結果のコンテンツを処理するSubAssemblyで、HTMLからテキストを抽出するのが典型的

Fetch処理の流れ

FetchSubassemblyは効率的にWebページのフェッチを行う為に、
いくつかのフェーズによって成り立っている。
ケースによって異なるが一般的には下記のとおり。

1.ホスト名でグループ化
2.ホスト名IPアドレスに解決する処理と、robots.txtよりURLをフィルターする。
3.フィルタリング、グループ化したIPアドレスをさらに制限する(オプション)
4.URLの数と、クロールの遅延に基づいてフェッチ時間を割り当てる。
5.グループ化されたURLによってReducerを振り分ける
6.並列にFetch処理を行う。

疑似分散環境で実行

GettingStartに従って、最新のディストリビューションファイルを
ダウンロードする。そして実行。

【実行】
【出力結果】
下記のように[ループ数-タイムスタンプ]という名前でディレクトリが作成されいてる。
各ディレクトリには以下のようにcrawldb,status,content,parseが格納されている。
今回はここまで。
 次回は出力情報についてと、フェッチしたデータをもとに
データマイニングを行うところまでやる予定。

0 件のコメント:

コメントを投稿