FileInputFormatで無視されるPath
多段のMapReduceを書く際に、_SUCCESS などのディレクトリは読み取られずには、次のFileInputFormatから無視されるけど、FileInputFormatは、どんな条件でフィルタをかけているんだろう?と思い確認してみました。
private static final PathFilter hiddenFileFilter = new PathFilter(){ public boolean accept(Path p){ String name = p.getName(); return !name.startsWith("_") && !name.startsWith("."); } };
"."および"_"から始まるPathは無視されるんですね。
FileOutputFormatを継承した自作OutputFormatでの圧縮
FileOutputFormatを継承して自作のOutputFormatを作る場合、圧縮関連の処理はFileOutputFormatには含まれないので、自分で処理を書く必要がある。
その際、TextInputFormat の getRecordWriterが、シンプルで参考になる。
http://svn.apache.org/viewvc/hadoop/common/branches/branch-1.0/src/mapred/org/apache/hadoop/mapreduce/lib/output/TextOutputFormat.java?view=markup
public RecordWriter<K, V> getRecordWriter(TaskAttemptContext job ) throws IOException, InterruptedException { Configuration conf = job.getConfiguration(); boolean isCompressed = getCompressOutput(job); String keyValueSeparator= conf.get("mapred.textoutputformat.separator", "\t"); CompressionCodec codec = null; String extension = ""; if (isCompressed) { Class<? extends CompressionCodec> codecClass = getOutputCompressorClass(job, GzipCodec.class); codec = (CompressionCodec) ReflectionUtils.newInstance(codecClass, conf); extension = codec.getDefaultExtension(); } Path file = getDefaultWorkFile(job, extension); FileSystem fs = file.getFileSystem(conf); if (!isCompressed) { FSDataOutputStream fileOut = fs.create(file, false); return new LineRecordWriter<K, V>(fileOut, keyValueSeparator); } else { FSDataOutputStream fileOut = fs.create(file, false); return new LineRecordWriter<K, V>(new DataOutputStream (codec.createOutputStream(fileOut)), keyValueSeparator); } }
たいした話ではないが、メモメモ。
scansnapで、快適読書生活
いわゆる「自炊」ってのをはじめました。スキャナで本をとりこんで、電子化するってやつです。
材料
- FUJITSU ScanSnap S1500M FI-S1500M (Macモデル) : スキャナ
- プラス 断裁機 PK-513 裁断幅A4タテ 26-128
- 本棚からあふれ出している本
スキャナと裁断機で7万ほどかかりましたが、それでもいい買い物だったと思っています。3時間ほどで十数冊の本を取り込み済み。数ヶ月かけて、自宅の本を半分ほど処分する計画です。GoodReaderを使えばiPhoneでも読めるし、Acrobat Professionalもついていて、OCRしとけば検索もできるんで快適です。
(補足) ScanSnapですが、現時点でSnow Leopardに対応していないようなので、以下のページの設定ファイルを読み込ませる必要がありました。
http://scansnap.fujitsu.com/jp/faq/snowleopard/
Enjoy reading!
オンライン書籍
日本未発売のGadget/Serviceで、ずっと日本でのサービス開始を望んでいるのが、Amazon Kindleです。
デザインが野暮ったい、電子書籍は(天下のソニー、パナソニックも含めて)日本で何度も失敗してきた、確かにその通りです。でもここ数年読書環境を、どうにかオンラインに移行できないか考えている私には、どうしてもコイツがほしいのです。
過去数年、読書環境を改善するために、いろいろと試してみましたが、根本的な解決にはいたっていません。
- 即日配達のAmazonプライムに入会 → ほしい本が即日/次の日には、読める環境は整った。でも、やっぱり物理的に本はかさばるんですよね。引っ越しでも、荷物の半分は本だし...。やっぱ、電子書籍だ。
- Safari Books Onlineに入会 → 英語の技術書の多くはここからオンラインで読める
とりあえず、新聞と新刊書だけでもいいんで、日本でKindleはじめてもらえないかな...。アメリカでできて、日本でできない理由はなんなんだろ、ちょっと調べてみます。
(追伸)
Googleブック検索も、USでの和解を受けて、そうとう進歩してきているみたいですね
ATOK 2009 快調です!
9ヶ月ぶりのエントリに書く内容でもないですが... ATOK 2009を導入しました。
パソコンを使い始めてから、ずっとIMEはATOKだったのですが、引っ越しの際に、ATOKのインストールCDがどこかにいってしまったこともあり、ここ数ヶ月MS-IMEを、だましだまし使っていました。
が、ついにストレスが臨界点を超えたため、あらためてATOKを導入することに相成りました。
今度は、パッケージ版ではなく、月々300円の定額プランを利用します。
http://www.justsystems.com/jp/products/atok_teigaku/
ATOKのいいところは、同時使用しなければ、ひとりで複数台(定額プランでは10台まで)にインストールすることができることですね。
http://www.justsystems.com/jp/products/atok_teigaku/qa.html#q01_2
ということで、家のPCも仕事のPCもATOKで快適であります。
2009になって導入された英語入力補助機能も意外と便利です。試しに使ってみるまでは、こんなの使えないと思っていたのですけどね。
http://www.justsystems.com/jp/products/atok/feature2.html
Google Analyticsの設定
備忘録がわりに、サイト/ソフトウェアごとのGoogle Analyticsの設定をまとめておきます。