MatsuLab. Lecture Note/sougouenshu2008

第2ラウンド解説

日程

基本木曜日の15:00〜。日程調整は随時連絡。

第1回

11/13

内容

課題
渡したMapReduce?の論文を読んでまとめてくること。また、Hadoopの仕組みについても自分なりに調べて まとめてくること。

第2回

11/27

前回の確認

課題
指定されたディレクトリ以下のファイルを全て読み、単語の出現頻度を求めるプログラムを書け。 ファイルはテキストファイルとし、中身はasciiコードでエンコードされていると仮定してよい。 単語とは、a-z, A-Zのアルファベットで表されているものとする。その他の文字はすべて単語の区切り文字(空白文字)として扱う。また、大文字小文字は同一視する。例えば、

public void main(String argv[])
int main(int argc, *argv[])

は、

"public": 1, "void": 1, "main": 2, "string": 1, "argv": 2, "int": 1, "argc": 1, "char": 1

となる。それぞれ、検出した単語とその出現回数を表す。

対象ディレクトリはコマンドラインからの引数として渡す。すなわち、main関数のargvを通して指定する。指定されたディレクトリを再帰的にたどり、全ファイルについて頻度計算を行う。頻度はファイル単位ではなく、全ファイルをまとめた結果を返せばよい。

結果の出力
1行につき「単語 頻度」とスペース区切りで出力せよ。ただし、出現頻度順の降順でソートし、かつ同一頻度の場合は辞書順でソートせよ。例えば、上の例の場合では、

argv 2
main 2
argc 1
char 1
int 1
public 1
string 1
void 1

となる。

第3回

前回からのやり残し

課題のすすめ方

松岡研クラスタシステム:PrestoIIIの使い方

基本的にターミナルからの作業となる。(sshができる環境から)

  1. ログインノード:nimbus.m.gsic.titech.ac.jpへログイン
    $ ssh   USER-ID@nimbus.m.gsic.titech.ac.jp
  2. 計算ノード:padXXXへログイン
    $ rsh    pad041

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS