ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

メガテンリプレイ『退魔生徒会伯林時迷宮』

2010-07-16 23:17:49 | TRPG

女神転生リプレイ『退魔生徒会伯林時迷宮

ふお! 退魔生徒会シリーズ、第9巻で完結。
このままひっそりこっそり最長不倒を目指すのかと思っていたから、ちょっと意外だ。
それでも次点には並んだんだよな、すごいや。(ん?外伝が出ないと並ばないか?)

それにしてもこのシリーズのタイトルは、たまに読めない字を使う…単なる無知だが(恥)
伯林→ベルリン、時迷宮→ときめき(違)

最終巻なので、なんだかよく分からないがレベル90超の悪魔をばっさばっさと倒しまくり。省略せず全部書いてたら、もう1冊は余裕でいけたんだろうな~^^;
ギリメカラとかトウテツとか、どこかで聞いたような名前も見かけた。マニアックな人々にはやはり有名なんだなw
クズリュウとの淡々とした戦闘シーン(再会チックな雰囲気)が書かれていたのはちょっと意外だった。最近だとこういうのこそ省略されちゃいそうだけどね。

最後は予告?とちょっと違うが、鱗ラスボス(笑)
こと最後に至って、鱗とチャーリーの関係がなんだかとっても良かった。(変な意味でなく!!w)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

HBase ユニークcheckAndPut()

2010-07-14 00:52:24 | PG(NoSQL)

たつやさんからのHBase指摘事項、第2弾。

HTable#checkAndPut()の応用で、データ(レコード)が存在しない場合だけ登録する方法
(通常のput()では、データが存在していようといまいと登録できてしまうから。)
データが存在しない場合でもcheckAndPut()で比較できるというのがミソ。へ~!

教えていただいた元記事を見ると、ROW(レコード)をロックしてみたりincrementColumnValue()を使ってみたりと、色々試行錯誤された様子。
こうして出来た最終結果を教えていただいて、ありがたいことです。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

HBase incrementColumnValue()

2010-07-13 00:27:54 | PG(NoSQL)

たつやさんから指摘を受けて、HBaseのHTableのメソッドincrementColumnValue()の使用例を追加。
以前調べたときにこのメソッドの存在には気付いていたけれども、後回しにしてすっかり忘れていた^^;

ついでに、関連していると思われるHBase Shellのincrコマンドも実験。
HBase Shell上は基本的に文字列でデータを扱っているが、incrはlong型で扱うようだ。
HBase0.89.20100621で追加されたget_counterコマンドは、incrで加算した値を表示する為に存在しているような気がする。

ところで、incrコマンドをqualifierの無い列ファミリーに対して使うと例外が発生する…。(Java APIのincrementColumnValue()では問題なさげ)
HBase0.20.5でも同様に例外が発生するけれどもちょっと違う点もあるので、新たなバグが埋め込まれているのかも?

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

HBase MultiTableOutputFormat

2010-07-12 01:36:27 | PG(NoSQL)

HBase 0.89.20100621の調査の続き。今度はHadoop関連のmapreduceパッケージのクラス

いろいろクラスが追加されているけれども、プログラマーにとって一番大きいのはMultiTableOutputFormatかな。
TableOutputFormatは最初にjob(conf)に対してテーブル名をセットしておくので、1つのテーブルしか更新できない。
MultiTableOutputFormatは出力キーにテーブル名を出力するので、複数のテーブルが更新できる。

それと、TableRecordReader(TableRecordReaderImpl)がTableInputFormat(TableInputFormatBase)の内部クラスからトップレベルのクラスに外出しになったので、これを使っていた人には影響大。

他に追加されたPutSortReducer・SimpleTotalOrderPartitionerはHFileOutputFormatによるバルクロード(ってHBaseでも言うのかな?)に関連したクラス。
ちなみに、PutSortReducerやKeyValueSortReducerの中で使っているローカル変数indexには、何の意味があるんだろう? インクリメントしてるんだったら分かるんだが…。

廃止されたクラスは、Apache Lucene(ルシーン)に関連したクラスのようだ。
クラス名に「Index」って付いていたけれども、テーブルの索引じゃなくてLucene用の索引のことらしいから、まぎらわしかったよね(苦笑)

今回HBase用にWordCountのプログラムを書いてみたけれど、WordCountってデータの準備が楽だなー。違和感のある例だと思っていたけれども、意外といい題材なのかもしれない。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

HBase checkAndDelete()

2010-07-11 03:26:14 | PG(NoSQL)

HBase0.89.20100621で追加されたデータ操作メソッドは、結局HTable#checkAndDelete()くらいのようだ。

あ、一応HTable#get()に関しては、Result#getValue(byte[] column)が廃止になっていたけれども。

Putと同じパッケージに新しく追加されたMultiPutというクラスは、HBaseが内部で使用するクラスであって、Putの様にプログラマーが使用するクラスではないようだ。

これを自分のウェブページに反映させる為に、ページ構成をちょっと変更。
あまりバージョンに関して意識した構成をしてなかったから、面倒なことに…(汗)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする