shunanalyzeコマンドに対する入力ファイル、出力ファイルなどを記述します。
実行パラメタの種類と意味
以下に、analyze用動作環境ファイルの実行パラメタを示します。
注意
analyze用動作環境ファイルの内容はシステムロケールの文字コードで記述してください。
パラメタ | 省略 | 説明 |
---|---|---|
可 | 入力のスキーマ情報ファイルおよび複数の入力ファイルを指定します。 | |
可 | 出力ファイルを指定します。 | |
可 | 一時ファイルを格納する作業ディレクトリを指定します。 | |
LogFile | 可 | ログファイルを指定します。 |
可 | 複数の入力ファイルを同時に集計するための並列数を指定します。 | |
可 | 入力ファイルタイプがCSVの場合、項目間の区切り文字を二重引用符(")で囲んで指定します。 | |
可 | 入力ファイルタイプがCSVの場合、2つ以上の連続した区切り文字の扱いを指定します。 | |
可 | 入力ファイル中にエラーデータを検出したときの、エラーデータ出力ファイルを指定します。 | |
PathNameCompatibility | 可 | 出力ファイルの出力方法を指定します。 |
入力ファイルを指定します。
図B.19 入力ファイルタイプがCSVの場合
図B.20 入力ファイルタイプがXMLの場合
本パラメタを省略した場合、または物理ファイル名を省略した場合は標準入力より入力します。
集計条件ファイルのInFileTypeパラメタがCSVの場合で、スキーマ情報を指定する場合は、スキーマ情報ファイル名と各物理ファイル名をセミコロン(;)で接続します。
集計条件ファイルのInFileTypeパラメタがCSVの場合で、スキーマ情報を指定しない場合は、各物理ファイル名をカンマ(,)で接続します。
スキーマ情報を指定した場合、物理ファイル名に指定した各ファイルの先頭行には項目名が記述されていないものとみなし、データとして集計対象になります。
スキーマ情報を指定しない場合、物理ファイル名に指定した各ファイルの先頭行には項目名が記述されているものとみなし、先頭行のデータを集計対象にしません。
集計条件ファイルのInFileTypeパラメタがXMLで複数のファイルを指定する場合には、各物理ファイル名をカンマ(,)で接続します。
複数のファイルを指定する場合、カンマ(,)またはセミコロン(;)の前後に改行を記述できます。
本パラメタを複数行に分けて定義する場合や、ファイル名に空白が含まれる場合は、本パラメタに指定する値全体を二重引用符(")で囲う必要があります。
物理ファイル名の先頭に"pipe@"を記述することで、入力ファイルに名前付きパイプを指定できます。
注意
スキーマ情報ファイルには、名前付きパイプを指定できません。ファイル名の先頭に"pipe@"を記述してもファイル名の一部と認識します。
入力の物理ファイルに名前付きパイプを指定する場合には、あらかじめ利用者が名前付きパイプを作成する必要があります。ただし、DataEffectorのコマンド間で名前付きパイプを使用する場合は、作成する必要はありません。
複数の物理ファイルに名前付きパイプを指定して並列に処理を実施する場合には、物理ファイルごとに別々の名前付きパイプを指定し、ParallelNumパラメタを指定してください。
出力ファイルを指定します。
図B.21 入力ファイルタイプがCSVの場合
図B.22 入力ファイルタイプがXMLの場合
出力するファイル名を指定します。
出力ファイル名または物理ファイル名の先頭に"pipe@"を記述することで、名前付きパイプを指定できます。
出力ファイルタイプがCSVの場合で見出し行とデータ行を分けて出力したいときは、スキーマ情報ファイルと物理ファイル名に分けて指定してください。
注意
スキーマ情報ファイルと物理ファイルの扱い
指定の組合せと出力先を以下に示します。
指定例 | 出力先 | |
---|---|---|
スキーマ情報ファイル | 物理ファイル | |
スキーマ情報ファイル名;物理ファイル名 | 指定したファイル | 指定したファイル |
;物理ファイル名 | 作成されない | 指定したファイル |
スキーマ情報ファイル名; | 指定したファイル | 標準出力 |
; | 作成されない | 標準出力 |
見出し行とデータ行に分けて標準出力へ出力することはできません。
スキーマ情報ファイル名と物理ファイル名には、セミコロン(;)を含むことはできません。PathNameCompatibilityパラメタに"1"を指定してセミコロン(;)を指定した場合、セミコロンはファイル名の一部と認識します。
注意
名前付きパイプの扱い
スキーマ情報ファイルには、名前付きパイプを指定できません。ファイル名の先頭に"pipe@"を記述してもファイル名の一部と認識します。
出力ファイルに名前付きパイプを指定する場合には、利用者が名前付きパイプを作成する必要ありません。
コマンドの実行結果が出力されるまで名前付きパイプは作成されないため、名前付きパイプが作成されるまでに時間がかかる場合があります。
OSのコマンドを使用して、Data Effectorのコマンドをキャンセルした場合、名前付きパイプのファイルが残る場合があります。この場合は、必要に応じてファイルを削除してください。
PathNameCompatibilityパラメタに"1"を指定して名前付きパイプを指定した場合、"pipe@"はファイル名の一部と認識します。
集計処理において一時的に使用するファイル(以降、一時ファイルと呼びます)を格納する作業ディレクトリを指定します。
指定した作業ディレクトリ配下に、一時ファイルが作成されます。一時ファイルは、集計処理実行後に削除されます。
WorkFolderパラメタを指定するときは、集計条件ファイルのMemorySizeパラメタと組み合わせて指定することを推奨します。その場合の動作を以下に示します。なお、以下の説明ではMemorySizeパラメタは指定されているとします。
WorkFolderパラメタ | 動作 |
---|---|
指定あり | 集計条件ファイルのMemorySizeパラメタに指定されたメモリを優先して使用する。 |
指定なし (省略時) | 集計条件ファイルのMemorySizeパラメタに指定されたメモリを優先して使用する。 |
注1)作成される一時ファイルの命名規約は、以下です。
一時ファイル名:AsIs.[PID][TID][NO]
[PID]:5桁の数字でプロセスIDを表します。
[TID]:10桁の数字でスレッドIDを表します。
[NO]:3桁の数字です。
注2)OSで設定されている以下の一時ディレクトリを利用します。その配下に、上記一時ファイルを作成します。
OS | 設定されている一時ディレクトリ |
---|---|
Windows | 環境変数TEMPに設定されているディレクトリ |
Linux | /tmpディレクトリ |
Solaris | /tmpディレクトリ |
注意
WorkFolderパラメタに指定した作業ディレクトリには、入力ファイルの合計サイズ以上の空き容量が必要です。
OSで設定されている一時ディレクトリが存在しない、または設定されていない場合、作業ディレクトリの指定を省略することはできません。
WorkFolderパラメタを指定し、集計条件ファイルのMemorySizeパラメタを指定しない場合、指定した作業ディレクトリ配下に作成される一時ファイルの命名規約が異なります。詳細については“G.2 AsisSetWorkFolderAnalyze”を参照してください。
ポイント
OSで設定されている一時ディレクトリは、他のプロセスからもアクセスされるため、アクセスが集中すると配下の一時ファイルの読み書きが遅くなる可能性があります。
大量のデータを集計する場合など、一時ファイルを使用する可能性が高い場合は、他のプロセスから同時にアクセスされないディスクにWorkFolderパラメタを使って作業ディレクトリを指定してください。
InFileパラメタで2つ以上の入力ファイルを指定した場合、複数の入力ファイルから同時に集計を行う並列数を指定します。
ParallelNumパラメタに指定できる値は、1から128までです。
ParallelNumパラメタで指定した並列数が入力ファイル数よりも小さい場合、並列数以上の入力ファイルは、並列数以内の入力ファイルの集計が終わった後に順次、実行されます。
ParallelNumパラメタで指定した並列数が入力ファイル数よりも大きい場合、入力ファイルの数が同時に集計を行う並列数となります。
注意
ParallelNumパラメタに2以上を指定した場合、入力ファイルは複数の物理ディスクに分散して配置することで、読込み処理のディスクI/Oの負荷を分散することができ、並列効果を最大限に発揮できます。
そのため、ParallelNumパラメタに指定した並列数と、入力ファイルを配置する物理ディスクの数を同じにすることを推奨します。
入力ファイルタイプがCSVの場合、項目間の区切り文字を変更する場合は、新しく区切り文字とする文字を二重引用符(")で囲んで指定します。区切り文字として使用できる文字は、以下のとおりです。
区切り文字 | 指定方法 |
---|---|
カンマ | ¥, |
半角空白 | ¥s |
水平タブ | ¥t |
区切り文字として複数指定する場合は、個々の文字列をカンマ(,)で区切って指定します。
注意
本パラメタを指定しても出力時の区切り文字は、常にカンマ(,)になります。
入力ファイルタイプがCSVの場合、2つ以上の連続した区切り文字の扱いを指定します。
0:1つの区切り文字を1つの項目間の区切りとして扱う。
1:2つ以上の連続した区切り文字を1つの項目間の区切りとして扱う。
本パラメタを省略した場合、0が指定されたものとみなします。
入力ファイルタイプがCSVの場合、エラーデータ出力ファイルと、エラーデータの最大出力件数を指定します。
本パラメタを指定すると、エラーデータを検索対象外のデータとして扱い、集計処理を継続します。
本パラメタを省略した場合、エラーデータを検出したとき、検出した時点でコマンドが異常終了します。
図B.23 エラーデータ出力の定義
入力ファイル中にエラーデータを検出したとき、そのエラーデータの情報を出力します。
指定したファイルがすでに存在している場合は、その情報が上書きされます。
入力ファイル中にエラーデータが存在しなかった場合、エラーデータ出力ファイルは作成されません。
エラーデータの最大出力件数に指定できる値は、1から2147483647までです。
エラーデータの最大出力件数を指定すると、エラーデータが指定件数分、出力された時点でコマンドが異常終了します。
本パラメタを省略した場合、1000が指定されたものとみなします。
注意
入力ファイル名の工夫
ErrFileパラメタを指定した場合、入力ファイル名に半角英数字以外が含まれるとき、エラーデータ出力ファイルに出力される入力ファイル名が、文字化けすることがあります。そのため、入力ファイル名には半角英数字を使うことを推奨します。
入力定義ファイルに指定するファイル名に半角数字で日付情報を付加する例を以下に示します。
Windowsの場合
InFile "D:¥Shunsaku¥indata¥売上情報_20080101.csv , D:¥Shunsaku¥indata¥売上情報_20080102.csv , D:¥Shunsaku¥indata¥売上情報_20080103.csv , D:¥Shunsaku¥indata¥売上情報_20080104.csv" |
Linux/Solarisの場合
InFile "/home/Shunsaku/data/売上情報_20080101.csv , /home/Shunsaku/data/売上情報_20080102.csv , /home/Shunsaku/data/売上情報_20080103.csv , /home/Shunsaku/data/売上情報_20080104.csv" |
参照
エラーデータ出力ファイルの出力例は、“2.1.1.3 入力ファイルのエラー処理”のエラーデータ出力ファイルの例を参照してください。
以下に、analyze用動作環境ファイルの実行パラメタを示します。
入力ファイルがXML形式の場合
Windowsの場合
# 入力ファイル InFile "D:¥Shunsaku¥data¥Input.xml" # 出力ファイル OutFile "pipe@¥¥.¥pipe¥¥named_pipe_Output" # ログファイル LogFile "D:¥Shunsaku¥log¥Analyze.log" |
Linux/Solarisの場合
# 入力ファイル InFile /home/shunsaku/Input.xml # 出力ファイル OutFile pipe@/home/shunsaku/data/named_pipe_Output # ログファイル LogFile /home/shunsaku/log/Analyze.log |
入力ファイルがCSV形式の場合
Windowsの場合
# 入力ファイル InFile "D:¥Shunsaku¥data¥Schema.csv;D:¥Shunsaku¥data¥Data1.csv;D:¥Shunsaku¥data¥Data2.csv " # 出力ファイル OutFile "pipe@¥¥.¥pipe¥¥named_pipe_Output" # ログファイル LogFile "D:¥Shunsaku¥log¥Analyze.log" # 並列数 ParallelNum 2 # CSV形式の区切り文字 FieldSeparator "¥s" # CSV形式の連続した区切り文字の扱い FieldSeparatorMode 0 # エラーデータ出力ファイル ErrFile "D:¥Shunsaku¥errdata¥err.csv" 10 |
Linux/Solarisの場合
# 入力ファイル InFile /home/shunsaku/Schema.csv;/home/shunsaku/Data1.csv;/home/shunsaku/Data2.csv # 出力ファイル OutFile pipe@/home/shunsaku/data/named_pipe_Output # ログファイル LogFile /home/shunsaku/log/Analyze.log # 並列数 ParallelNum 2 # CSV形式の区切り文字 FieldSeparator "¥s" # CSV形式の連続した区切り文字の扱い FieldSeparatorMode 0 # エラーデータ出力ファイル ErrFile /home/shunsaku/errdata/err.csv 10 |