Previous: パラメータ指定 Up: Mコマンド Next: キーブレイク処理 MCMD2
MCMD2 : Mコマンド : Environment variable

2.10 Environment variable

MCMDでは、Table 2.5に示される環境変数の設定が可能で、 その値に応じてコマンドの動作を変更することが可能である。

Table 2.5: Mコマンドで設定可能な環境変数一覧

変数名

デフォルト値

内容

KG_iSize

4096000

read一回あたりのサイズ

   

入力バッファサイズは、KG_iSizeの4倍のメモリが確保される。

   

ただし、kgsortfは10倍もしくはコマンドパラメータで設定した倍数確保される。

   

また、キーブロック単位で処理するコマンドのバッファサイズはKG_BlockCountを参照。

   

以下の条件を満たす必要がある。

   

KG_iSize=KG_MaxRecLen$*$i (ただし、iは1以上の整数)

   

KG_iSize$\ge $KG_MaxRecLen$*$2

KG_oSize

2048000

write一回あたりのサイズ

   

出力バッファサイズは、KG_oSize同じサイズのメモリが確保される。

   

KG_oSize=KG_MaxRecLen$*$i (ただし、iは1以上の整数)

   

KG_oSize$\ge $KG_MaxRecLen$*$2

KG_MaxRecLen

1024000

一行あたりの最大文字数 (上限:10240000)

   

KG_iSizeとKG_oSizeに示された条件を満たす必要がある。

KG_BlockCount

128

キー単位ごとに処理$^{注1)}$する際に使用するバッファ数

   

KG_iSizeの欄で示したバッファサイズ$*$KG_BlockCountのバッファが確保される。

   

KG_MaxRecLen $*$2 + 4$*$ KG_ioSize) $*$ KG_BlockCount

KG_TmpPath

/tmp

ライブラリ関数が用いるデフォルトの一時ファイル用ディレクトリ

KG_Precision

10

有効桁数

KG_VerboseLevel

4

Mコマンドのエラーメッセージ出力レベル

   

0: メッセージを一切出力しない

   

1: + errorメッセージ出力

   

2: + warningメッセージ出力

   

3: + endメッセージ出力

   

4: + msgメッセージ出力(デフォルト)

注1) キー単位ごとの処理とは、mnjoinの様に、同一キーのデータを一旦全てメモリに読み込む処理のこと。 詳細は個々のコマンドのマニュアルを参照のこと。

以下、コマンドのメッセージを制御するKG_VerboseLevelの設定を変更する例を示す。

利用例

例1: 終了メッセージ

デフォルトでは KG_Verbose=4 なので、正常終了時のメッセージもエラー終了メッセージも出力される。

$ more dat.csv
k,v
A,1
B,2
$ mcut f=k,v i=dat.csv o=out.csv
#END# kgcut f=k,v i=dat.csv o=out.csv
$ mcut x=k,v i=dat.csv o=out.csv
#ERROR# unknown parameter x= (kgcut)

例2: エラーメッセージのみ出力

KG_Verbose=1とすると、エラー終了メッセージは表示されるが、正常終了メッセージは表示されない。

$ export KG_VerboseLevel=1
$ mcut f=k,v i=dat.csv o=out.csv
$ mcut x=k,v i=dat.csv o=out.csv
#ERROR# unknown parameter x= (kgcut)

例3: メッセージを一切表示させない

KG_Verbose=0とすると、いずれのメッセージも表示されない。

$ export KG_VerboseLevel=0
$ mcut f=k,v i=dat.csv o=out.csv
$ mcut x=k,v i=dat.csv o=out.csv
Previous: パラメータ指定 Up: Mコマンド Next: キーブレイク処理 MCMD2