18
HadoopでWikipedia解析 (≒HadoopでXML解析)

Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

Embed Size (px)

DESCRIPTION

Hadoopソースコードリーディング 2回目で行いました 「HadoopでWikipedia解析(≒HadoopでXML解析)」のLTの資料をUPしました。

Citation preview

Page 1: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

HadoopでWikipedia解析 (≒HadoopでXML解析)

Page 2: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

Blog :http://d.hatena.ne.jp/yamiura/

Twitter :yamiura

Page 3: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

Wikipediaのデータ(XML)

Page 4: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

圧縮ファイル16G!XML!

Page 5: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

<page> <title>GNU Free Documentation License</title> <id>75</id> <revision> <id>135</id> <timestamp>2002-12-17T06:04:47Z</timestamp> <contributor> <username>Tomos</username> <id>10</id> </contributor> <comment>さわり/just started</comment> <text xml:space=“preserve”>[[GNU]] Free Documentation Licenseの略称。

                              GNU フリー文書利用許諾契約書として、・・・・・・・・・

<revision> <id>7103</id> <timestamp>2003-02-25T16:40:31Z</timestamp> <contributor> <ip>211.123.199.231</ip> </contributor>

XMLの内容

Page 6: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

<page> <title>GNU Free Documentation License</title> <id>75</id> <revision> <id>135</id> <timestamp>2002-12-17T06:04:47Z</timestamp> <contributor> <username>Tomos</username> <id>10</id> </contributor> <comment>さわり/just started</comment> <text xml:space=“preserve”>[[GNU]] Free Documentation Licenseの略称。

                              GNU フリー文書利用許諾契約書として、・・・・・・・・・

<revision> <id>7103</id> <timestamp>2003-02-25T16:40:31Z</timestamp> <contributor> <ip>211.123.199.231</ip> </contributor>

仕事中?

カテゴリは?

会社からですか?

Page 7: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

あらゆる情報がつまった夢のXML!!!

Page 9: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

ここから、本題。HadoopでXML処理

Page 10: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

Mapへのインプットを決めるクラスMapへのインプットを決めるクラスMapへのインプットを決めるクラスMapへのインプットを決めるクラス

デフォルトは、1行入力

Page 11: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

Jobを定義するMain文 イメージ

取り消し線、黄色線は何?

Page 12: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

非推奨(?)な旧クラス、新クラス

Mapper,Reducerも同様の状態

Page 13: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

旧クラス(非推奨?)のほうがImplが多い・・・

Page 14: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

推奨されていない

旧クラスのほうが圧倒的に豊富

新しいもの≠いいもの

Page 15: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

こんな気分でした

Page 16: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

旧クラスには、XML処理用クラス有り

ただし、hadoop streming普通のHadoopでもクラスは使えます

Page 17: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

新クラスには、XML処理用クラス無し

orz...でも、自作は結構簡単です!!

Page 18: Hadoopソースコードリーディング 2回目   hadoopでwikipedia解析(≒hadoopでxml解析)

まとめ - XML処理もできる - InputFormat,RecordReaderで制御

- トラップあり - (厳密な処理は注意) - (Wik-IEのコードを参考に)