[MUSASHI-users 28] Re: musashiの利用感想

アーカイブの一覧に戻る

Yukinobu Hamuro hamur****@adm*****
2003年 12月 26日 (金) 00:43:06 JST


海老澤 様

MUSASHIの開発メンバーの羽室と申します。

貴重なご意見ありがとうございます。
それぞれについて回答させていただきます。

> 1 フィールドセパレータについて
>   フィールドセパレータは半角スペースのみのようですが、私が
>   扱っているデータはタブ区切りで、かつフィールド値にスペース
>   が入っている場合(例:ブラウザーエージェント情報など)もある
>   ので、処理ができずに困っています。
この点については、以前に他の方からも同じ指摘を受けたことがあります。
その時に、mssConfig.hのインクルードファイル内のMssFieldDelim関連マクロの設定を変更し再コンパイルすれば、どのような区切り文字にも対応できるように対応しま
した(ただし十分な動作検証は行っていませんが)。
といってもデフォルトはスペース文字です。
次のメジャーバージョンアップ(1.1.0)においては、TABをデフォルトにする方向で検討しております。
データ構造の変更になりますので、慎重に対処したいと考えています。

> 2 XMLテーブルに変換しないで利用する方法
>   xtsortなどに「-t」オプションで「入出力データの構造として、
>   XMLtableデータ構造でなくplain textを使う」というのがあるの
>   ですが、その場合フィールドはどのように指定すればよろしい
>   のでしょうか? Unixのcutコマンドのように数値で指定できる
>   と助かります。
-tオプションを指定した場合、項目の指定は項目番号で行います。
例えば、xtcut -t -f 1,3,4 は1,3,4番目の項目を抜き出します。
また、-tオプションを指定したときには、処理のためのソートを意識する必要がでてきます。
例えば、
xtagg -t -k 1 -f 2 -c sum
によって、一番目の項目をキーにして二番目の項目の合計を計算しますが、この場合、一番目の項目でソートされている必要があります。
よって、正確には
xtsort -t -k 1 <indat.txt |
xtagg -t -k 1 -f 2 -c sum
となります。
XMLtableでは、上記のようにソートを意識する必要はなく、各コマンドがソートが必要かどうかをヘッダーから自動的に判断して処理をおこないます。

> 3 Null値の扱い
>   xtnultoを使えばNull値を置き換えることができるようですが、
>   できれば各コマンドで自動的に処理してできるようにして
>   いただけると助かります。Nullがあるかどうかわからない
>   データを処理する場合には、途中で止まってしまうと面倒です。
はい、これは設計時に迷った点で、Null値に対する処理を各コマンドで制御しようとも考えたことはあります。
例えばxtcalでNULL値を含む足し算の結果(ex. xtcal -c '"*"+1')はNULLになります。多くのケースでは、NULL値は無視して合計されることが期待されるかもしれません。
しかし、掛け算の場合はどうでしょうか?NULL値を0として考えるべきでしょうか?これはケースバイケースだと考えられます。
ということで、各コマンドでNULL値に対する処理を自動化するのは、そのルール決めが結構大変で、
それならば、NULLに対する演算は全てNULLという統一的なルールを採用し、そのルール以外の場合は、ユーザの責任でxtnultoを利用して変換してもらうという現在のルー
ルに落ち着きました。

> 4 時間の集計について
>   私が扱っているデータは、時間がUnix時間で記録してあるので、
>   それを自動的に変換することは可能でしょうか?Perlのlocaltime
>   関数があると助かります。(xtcalでそれらしきものがなかったので)
ご指摘の通り、日付の変換に関しては弱いです。
xtcalを多用すれば可能ですが、非常に見にくいものとなってしまうでしょう。
他の方から、日付や時刻の変換コマンドの実装の要望を受けており、近々に実装しようと考えております。

> 5 Webサーバログの自動判別
>   Webサーバのログファイルは特殊な形式(CommonLogFormat)
>   なので、それらのフィールドが自動的に判別できるようになって
>   いると助かります。
そうですね。
こちらでも過去にWebログを扱ったことはあり、既に変換スクリプトも実装しております。
今後はスクリプトコマンド(コマンドのように利用可能なスクリプト)として実装し、公開しようと考えています。

> 6 manの英語
>   本社に検証させるのに、日本語だと厳しいです・・・。
古いドキュメントでしたら、以下のURLにあります。
http://musashien.sourceforge.net/
開発メンバーにStephaneという英語ドキュメント担当の方がいるのですが、別プロジェクトで忙しくしており、なかなか英語訳が追いついていない状況です。
どなたか担当いただければありがたいのですが。。。


現在、バージョン1.0.3(Cygwin上での動作など)のリリースに向けての最終段階の作業を行っています。
近々にリリースを行いますので、その後に、上記のご意見は反映させていきたいと思います。

よろしくお願いします。

----
Yukinobu Hamuro  hamur****@adm*****



MUSASHI-users メーリングリストの案内
アーカイブの一覧に戻る