目次

内容

概要

  • データマイニングツール「musashi」の後継(らしい)
  • 分析エンジンは「KGMOD」で、それを実行するコマンドを「MCMD」と呼ぶ

インストール

  • CentOSの場合はRPMパッケージでインストール(4.xでは
    rpm -ivh kgmod-1.0-664.i386.rpm
    rpm -ivh mcmd-1.0-664.i386.rpm
  • ただし、CentOS4.xではインストールできないみたい
    rpm -ivh kgmod-1.0-664.i386.rpm
    error: Failed dependencies:
            rtld(GNU_HASH) is needed by kgmod-1.0-664.i386
    • おそらくglibcの2.5以上が必要と思われる(CentOS4.xは2.3)

利用方法

  • 基本的にはmusashiと同じ
    mcut f=products,price i=data1.csv |
    msortf f=price%nr  |
    mbest R=1_10

気付いた点

全般

  • ファイル形式がXMLtableからCSVになっていた
    • 「mchkcsv」でCSVの形式チェックが可能
    • XMLtableにあったソート指定はなくなったのか?
  • 引数の指定が「-f aa,bb」から「f=aa,bb」に変わっていた

環境変数

環境変数名内容デフォルトbashでの設定例備考
KG_MaxRecLen一行あたりの最大バイト数1024000export KG_MaxRecLen?=2048000上限10240000
KG_TmpPath?作業ディレクトリ名/tmpexport KG_TmpPath?=/home/hoge/tmp
KG_VerboseLevelメッセージの出力レベル3export KG_VerboseLevel?=00:何も表示しない
1:エラーのみ表示
2:+処理メッセージ表示
3:+終了メッセージ表示
KG_Precisionテキスト出力の小数点有効桁数10export KG_Precision=0上限100
KG_NoFldNamel項目名行なしモードexport KG_NoFldNamel?=true設定する値は何でもよい.環境変数が設定されていることでonになる.

msum(旧名「xtagg」)

  • 集計前にソートしておく必要がある。

msed(旧名「xtsed」)

  • 正規表現が拡張され、パターンマッチ変数が使えるようになる

msortf(旧名「xtsort」)

  • ソートコマンドは[msort」と「msortf」の2つがある。通常は「msortf」を使う

xtheaderの代わりがない

xtsessionがない

mselでキー単位の抽出ができない

  • xtselでは-kでキー単位の抽出ができた。
    • 例えば「商品XXXを購入した会員の全ての明細」など
  • しかし、mselでk=の指定ができない。
  • 不思議なことに、mselstrにはk=が用意されている・・・?

日本語(UTF8)を含むソートがおかしい

  • Linuxで日本語を含むCSVをソートすると、日本語を含むレコードのほうが優先されてしまう。
  • この状態でmjoinを行うと正常に連結が行えないので注意。
  • KGMODの文字コードに関する記述箇所では、ソートコマンドについて触れてなかった。
  • 原因が判明するまで、日本語を含むCSVでソートを行わないほうが吉。
    # cat test.csv
    kw
    aaa
    aaaあああ
    # msortf f=kw i=test.csv
    kw
    aaaあああ
    aaa

mcalで前レコードの値を参照したとき、それがnullだとエラーになるみたい

  • サンプルスクリプトではエラーにならないが、件数が多いとおかしくなる?
  • 嘘だった。大量のデータでmcatを実行するとエラーが発生するが、その原因は不明。

小技集

小数点n桁で四捨五入

# echo "1111.1181111" | mcal c='round(${1}*100,1)/100' -nfn a=2

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-09-25 (日) 19:27:03 (446d)