注意
前回までに構築したhadoop0.
0.
- 0.
20をダウンロード, 展開 - hadoopを0.
20にリンク - 0.
21で作成したconf/* をコピー。 - 各サーバの/usr/
local/ hdfs/*を削除 - hadoop namenode -formatでフォーマットする
- start-all.
shで起動
これで0.
もう一点。2ちゃんねるデータの取得プログラム,
修正前:
print $time,",",$resid,",", $name, ",", $id2,",", $be, ",", $mail,",", $body, "\n";
修正後:
print join("\t", ($time, $resid, $name, $id2, $be, $mail, $body)), "\n";
今回は2ちゃんねるデータを処理するという実践を行ってみます。
品詞解析ライブラリの導入
品詞解析にはいくつかのツールがありますが,
- MeCabのサイト
- URL:http://
mecab. sourceforge. net/
MeCab本体と,
MeCab本体のセットアップ
mecab-0.
$ ./configure $ make $ make check # make install
/usr/
辞書のセットアップ
MeCabの動作には辞書が必要ですので,
mecab-ipadic-2.
$ ./configure --with-charset=utf8 $ make # make install
以上でMeCabの導入が終わりました。
CMeCabの導入にはprotocol bufferとsconsが必要となります。
protocol buffer
URL:http://
このページから最新版をダウンロードします。
protobuf-2.
$ ./configure $ make # make install
scons
ダウンロード&インストール
$ wget http://prdownloads.sourceforge.net/scons/scons-1.2.0-1.noarch.rpm # rpm -Uhv scons.rpm
CMeCab
CMeCabのサイトで公開されている。cmecab-1.
jarファイルの生成
$ cd cmecab-1.7 $ ant
bin/
ライブラリの生成
続いてネイティブライブラリの生成です。sconsを使用してコンパイルしますが,
37 javahome = '/usr/lib/jvm/java' ←適切なパスに置き換える
sconsを実行します。
$ cd jni $ scons # cp libCMeCab_protobuf.so libCMeCab.so /usr/local/lib
環境変数の設定
今回jarファイルを/usr/
12 # Extra Java CLASSPATH elements. Optional.
13 export HADOOP_CLASSPATH=/usr/local/apache_proj/myproj/lib/cmecab-1.7.jar
cmecab-1.
$HADOOP_
1 <?xml version="1.0"?>
2 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
3 <!-- Put site-specific property overrides in this file. -->
4 <configuration>
5 <property>
6 <name>mapred.child.java.opts</name>
7 <value>-Djava.library.path=/usr/local/lib</value>
8 </property>
9 <property>
10 <name>mapred.job.tracker</name>
11 <value>hadoop1:9001</value>
12 </property>
13 </configuration>
また,
export LD_LIBRARY_PATH=/usr/local/lib
ここでhadoopを再起動します。
$ stop-all.sh $ start-all.sh
これで準備が整いました!