No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 895 | 896 | 897 |...| 1338 | 1339 | 1340 || Next»

Hadoop で大いに嵌った

ほとんど同じパターンで Hadoop を使いまくるので,面倒だから Hoge というクラスに Hadoop を動かす部分を全部書いておいて,それを jar に固めて $HADOOP_HOME/lib に入れておいた.使うときには,下みたいに Hoge にパラメータとなるクラス(例えば Fuga)を引数で渡すという形にする.

bin/hadoop jar Fuga.jar Hoge Fuga

で,Hoge の Hadoop 呼び出し部分を何も考えずに

  public static void main(String[] args) throws Exception  {
    //...
    job.setJarByClass(Hoge.class);
    //...
  }

とか書いて動かそうとしたら,Fuga のクラスが見つからねぇと Mapper の初期化時辺りに怒られまくった.しばらく理由も分からず…… 3時間ほど独り Hadoop 読み会をした.

結局のところ,job.setJarByClass の引数に Fuga.class のほうを指定しておかないとそれを含む Fuga.jar をワーカに転送してくれない,というオチ.こんなことそこら辺のドキュメントにちゃんと書いてあるような気もするけど,頭の中ではただのおまじないになっていたので全然気づかなかった.アホ.

でもまあ,ぶっちゃけコマンドラインに指定した jar を job.jar として転送してくれる設計でよいと思うのだけど,なぜにわざわざクラスをひとつ指定してそれを含む jar を job.jar として転送するとかいう仕様になっているのだろう?

とりあえず -libjars, -files, -archives で問答無用に必要なファイルを指定しておくのがよいのかもしれない.

閑話休題.

コードを読んでみての感想:org.apache.hadoop.mapred と org.apache.hadoop.mapreduce を行ったり来たりしているのでとても汚い.キレイな Hadoop が欲しい.

クラスタのセットアップで ssh の hostkey verification が面倒なので回避したい

http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html を見てみたら,

ssh user@host -o StrictHostKeyChecking=no

とかやれば初めてのホストでも

The authenticity of host 'testhost' can't be established.
RSA key fingerprint is .........
Are you sure you want to continue connecting (yes/no)?

が出ないでくれるので助かると.なるほど.さらに -o UserKnownHostsFile=/dev/null をつけてあげると hostkey が変わっても全く気にしないモードの出来上がり.

/config に

StrictHostKeyChecking no
UserKnownHostsFile=/dev/null

とか書いておくと不幸せになるのかも知れない.

アイスの消費が激しい今日この頃

最近クーリッシュのバニラをよく食べている気がする.適度に溶けたところを飲む形で食べられるので移動中に体を冷やすのにちょうどいい気がする.

で,コンビニとかでは希望小売価格の 126円 で売ってるのだけど,SEIYUに行ったら79円で安売りしてた.お値段2/3は結構お得な気がする.大量に大人買いしたいところだけど冷凍庫的にそれ程買えないのが難点.

SEIYUはハーゲンダッツの小カップも(種類限定のことが多いけど)198円で売っているのでアイスを買うにはいいところかも知れない.

8月2日は何の日か

Wikipedia によると,8月2日 は日本国内で「金銀の日」「カレーうどんの日」「博多人形の日」「パンツの日」「ハーブの日」らしい.まあ,金銀と博多人形とハーブは良いとして,カレーうどんの日の理由が
カレーうどん100年革新プロジェクトが2010年に制定。6月2日が「カレーの日」、7月2日が「うどんの日」であることから。
ってのはどうなんだろう.そしてパンツの日ってのも……

それはさておき,ハニーの日ってのはさすがに載ってないんだねぇ.ちなみに8月20日は大阪府高槻市がハニワの日としている.でも8月28日もハニワの日な気がする.

R352は暫く通れないのか……

週末にもう一度行ってこようかと考えていたのだけど,新潟県交通規制情報によると,先日の豪雨のせいで土砂崩れと土砂堆積で新潟県内の3箇所くらいで全面通行止め.「迂回路・備考:なし、福島県への通り抜けが出来なくなっています。」とのこと.

ついでにR252も通行止め.R352とR252で奥只見一周とかしたかったのになぁ.このまま復旧せずに冬季閉鎖に突入とかにならないことを祈る.

文字コードとの戦い,というか,行儀の悪い html との戦い

Python で web のクローラを書いてるのだけど,文字コード周りで行儀の悪いページとの戦いが…… こちらの武器は chardet と encutils とで. 

行儀のよいファイルだけなら encutils で判定して終了なのだけど,世の中 ISO-2022-JP と宣言して EUC-JP を使うようなページも平気であるので困る.ここらは実際に unicode へ変換してみてエラーが出たら chardet の解析結果を使うとかで対処.

んで,一見行儀の良さそうな sjis ファイルなのだけど実は丸の中に数字の入った文字を含む cp932 だったりとかもある.大量に.行儀悪い.更に悪いことに,chardet が自信満々 (confidence = 1) で cp932 を sjis 判定してくれるので困る.面倒なので sjis は全部 cp932 として扱うと幸せかも知れない.

あとは x-euc-jp とか x-sjis とかも python は認識してくれないので手動で置き換えを……

とりあえず chardet と encutils の併用と sjis を cp932 に置き換えるのとでだいぶ安定してきた.

というか,ページ内でコードが違うとか何考えてるんだろう?

«Prev || 1 | 2 | 3 |...| 895 | 896 | 897 |...| 1338 | 1339 | 1340 || Next»
Search
Feeds

Page Top